Excel - Le lundi 29 Septembre 2008 ? 16:44 par Flac :bonjour,J'ai eu le m?me probl?

Asked By ag88 on 01-Aug-12 09:34 AM
Le lundi 29 Septembre 2008 ? 16:44 par Flac :
bonjour,

J'ai eu le m?me probl?me de que flac et j'ai utilis? la macro de ffo. Cette
macro fonctionne bien mais elle ne s'applique qu'? une seule cellule
active...comment faire pour qu'elle puisse s'appliquer ? toutes les cellules
s?lectionn?es???

Merci pour votre aide

ps: excel 2003


Jacquouille replied to ag88 on 01-Aug-12 02:01 PM
Bonjour
Les gourous d'Excel sont des mecs super sympa et tr?s instruits en la
mati?re.
Divins et devins, ils sont .....mais.....
Peut-?tre qu'en publiant votre code, quelqu'un sera ? m?me de vous dire ce
qu'il faut y modifier .....



Jacquouille

g8OdnU0R36b-rYTNRVn_vwA@giganews.com...

Le lundi 29 Septembre 2008 ? 16:44 par Flac :
bonjour,

J'ai eu le m?me probl?me de que flac et j'ai utilis? la macro de ffo. Cette
macro fonctionne bien mais elle ne s'applique qu'? une seule cellule
active...comment faire pour qu'elle puisse s'appliquer ? toutes les cellules
s?lectionn?es???

Merci pour votre aide

ps: excel 2003
MichD replied to ag88 on 01-Aug-12 02:47 PM
Bonjour,

Voici une fa?on de faire. Tu adaptes le nom de la feuille o? sont tes donn?es
et la plage de cellules ? traiter. Apr?s traitement, seuls les chiffres
demeureront dans les cellules.

'-------------------------------------------------
Sub test()
Dim Rg As Range, C As Range
Dim T As String, Nb As Integer, A As Integer

With Worksheets("Feuil1") 'Nom feuille ? adapter
Set Rg = .Range("A1:B10")
End With

Application.ScreenUpdating = False
Application.EnableEvents = False

For Each C In Rg
Nb = C.Characters.Count
For A = 1 To Nb
If IsNumeric(Mid(C.Text, A, 1)) Then
T = T & Mid(C.Text, A, 1)
End If
Next
C.Value = T
T = ""
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'-------------------------------------------------


MichD
---------------------------------------------------------------
isabelle replied to ag88 on 01-Aug-12 07:19 PM
Le 2012-08-01 09:34, ag88 a ?crit :


bonjour,

voici un exemple de ozgrid (www.ozgrid.com) adapter pour une selection multiple,
le r?sultat est mit dans la colonne de droite.

Sub ExtractNumber()
Dim rCell As Range
Dim Take_decimal As Boolean, Take_negative As Boolean
Dim iCount As Integer, i As Integer, iLoop As Integer
Dim sText As String, strNeg As String, strDec As String
Dim lNum As String
Dim vVal, vVal2

For Each rCell In Selection
sText = rCell
If Take_decimal = True And Take_negative = True Then
strNeg = "-" 'Negative Sign MUST be before 1st number.
strDec = "."
ElseIf Take_decimal = True And Take_negative = False Then
strNeg = vbNullString
strDec = "."
ElseIf Take_decimal = False And Take_negative = True Then
strNeg = "-"
strDec = vbNullString
End If

iLoop = Len(sText)

For iCount = iLoop To 1 Step -1
vVal = Mid(sText, iCount, 1)
If IsNumeric(vVal) Or vVal = strNeg Or vVal = strDec Then
i = i + 1
lNum = Mid(sText, iCount, 1) & lNum
If IsNumeric(lNum) Then
If CDbl(lNum) < 0 Then Exit For
Else
lNum = Replace(lNum, Left(lNum, 1), "", , 1)
End If
End If
If i = 1 And lNum <> vbNullString Then lNum = CDbl(Mid(lNum, 1, 1))
Next iCount

Range(rCell.Address).Offset(, 1) = CDbl(lNum)
lNum = ""

Next rCell

End Sub      'www.ozgrid.com