Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

utiliser un code que sur certaine plage

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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")
 
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,
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
784
Réponses
5
Affichages
910
Réponses
4
Affichages
733
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…