utiliser un code que sur certaine plage

Olyxier

XLDnaute Occasionnel
Bonjour le forum

voici uncode que j'utilise pour enlever les lettres et garder que les chiffres dans les colonnes ce code marche tres bien seulement le probleme est qu'il le fair sur l'ensemble de la colonne moi ce qui me ferais plaisir serais que je puisse l'utiliser que sur certaine plage EXP ( " A1:G10 " ) ou ( " B34:F42 " )
le probleme se situe dans cette ligne je pense For Each c In Range("a1:J" & Range("a6553").End(xlUp).Row) mais j'ai fais pas mal d'essai et je plante complet merci de bien vouloir me sortir de ce probleme

Dim c As Range
Dim i As Byte
Dim nombre As String

For Each c In Range("a1:J" & Range("a6553").End(xlUp).Row)
For i = 1 To Len(c)
If IsNumeric(Mid(c, i, 1)) Then
nombre = nombre & Mid(c, i, 1)
End If
Next i
c = CDbl(nombre)
nombre = ""
Next c

End Sub
et bonne journée
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : utiliser un code que sur certaine plage

Bonjour Olyxier, bonjour le forum,

Comme ta plage n'a pas l'air fixe, je te propose la même macro mais que tu lancerais après avoir sélectionné la plage qui t'interresse :
Code:
Sub Macro1()
Dim c As Range
Dim i As Byte
Dim nombre As String
 
For Each c In Selection
For i = 1 To Len(c)
If IsNumeric(Mid(c, i, 1)) Then
nombre = nombre & Mid(c, i, 1)
End If
Next i
c = CDbl(nombre)
nombre = ""
Next c
 
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : utiliser un code que sur certaine plage

Bonjour le fil, bonjour le forum,

Je pense qui ni moi, ni Kiki avons finalement répondu à ta question... Kiki te propose une nouvelle méthode pour supprimer les lettres mais pas pour une plage fixe. Quelle que soit la méthode, pour une plage fixe tu peux faire :
Code:
For Each c In Range("ta_plage")
 

myDearFriend!

XLDnaute Barbatruc
Re : utiliser un code que sur certaine plage

Bonjour Olyxier, Robert, kiki29,

On peut faire aussi quelque chose comme ça :
Code:
[SIZE=2][COLOR=GRAY][B][I]DANS UN MODULE DE CODE STANDARD[/I][/B][/COLOR]

[COLOR=NAVY]Option Explicit[/COLOR]

[COLOR=NAVY]Sub[/COLOR] Test()
    [COLOR=GREEN]'Supprimer les caractères alphabétiques dans la plage souhaitée[/COLOR]
    SupprLettres Range("A1:G10")
[COLOR=NAVY]End Sub[/COLOR]

[COLOR=NAVY]Sub[/COLOR] SupprLettres(Plage [COLOR=NAVY]As[/COLOR] Range)
[COLOR=NAVY]Dim[/COLOR] C [COLOR=NAVY]As Byte[/COLOR]
    Application.ScreenUpdating = [COLOR=NAVY]False
    Set[/COLOR] Plage = Plage.SpecialCells(xlCellTypeConstants, xlTextValues)
    [COLOR=NAVY]For[/COLOR] C = 65 [COLOR=NAVY]To[/COLOR] 90                    [COLOR=GREEN]'Caractères de A à Z[/COLOR]
        Plage.Replace Chr(C), ""            [COLOR=GREEN]'Majuscules[/COLOR]
        Plage.Replace Chr(C + 32), ""       [COLOR=GREEN]'Minuscules[/COLOR]
    [COLOR=NAVY]Next[/COLOR] C
    Application.ScreenUpdating = [COLOR=NAVY]True
End Sub[/COLOR][/SIZE]
Cordialement,
 

bqtr

XLDnaute Accro
Re : utiliser un code que sur certaine plage

Bonsoir Olyxier, Robert, kiki29, myDearFriend!

Si tes différentes plages sont connues à l'avance, tu peux faire comme ca :

Dim maplage As Range
Set maplage = Union(Range("A1:G10"), Range("B34:F42"), Range("??:??"))

For each c in maplage
le code
.../...

bonne soirée

P.O
 

Discussions similaires

Statistiques des forums

Discussions
312 775
Messages
2 092 022
Membres
105 150
dernier inscrit
maxissof