Macro besoin d'une petite aide ...
mezgo37
Messages postés
8
Statut
Membre
-
mezgo37 Messages postés 8 Statut Membre -
mezgo37 Messages postés 8 Statut Membre -
bonjour
J'ai un petit probleme de prog avec un macro qui m'avait été fait par XJL
J'ai un tabeau avec plus de 250 numero de tel a 4 chiffres le parc téléphonique s'agrandi et on rajoute sur chaque colone un chiffre supplementaire (le 8)
j'ai plusieur ligne ou je dois rajouter le "8" le probleme rencontré que sur mon fichier des modif avait deja était fait manuellement donc certainne case on deja 5 chiffre ex: 81234 ma macro rajoute a celle là un 8 quand meme alors qu'elle n'a besoin. car elle a dejà était modifier manullement là est mon probleme
l'autre pb est que j'arrive pas a lancer les 2 marcros en meme temp. enfin c'est un detaille
si quelqu'un peu m'aider svp si jamais le bosse de la macro XJL est dans le coin pour aider ;))
Sub ajout1()
For i = 1 To 100
If Cells(i, 3).Value <> "" Then
If IsNumeric(Cells(i, 3).Value) = True Then
Cells(i, 3).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
Next i
End Sub
Sub ajout2()
For i = 1 To 100
If Cells(i, 20).Value <> "" Then
If IsNumeric(Cells(i, 20).Value) = True Then
Cells(i, 20).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
Next i
End Sub
merci d'avance
J'ai un petit probleme de prog avec un macro qui m'avait été fait par XJL
J'ai un tabeau avec plus de 250 numero de tel a 4 chiffres le parc téléphonique s'agrandi et on rajoute sur chaque colone un chiffre supplementaire (le 8)
j'ai plusieur ligne ou je dois rajouter le "8" le probleme rencontré que sur mon fichier des modif avait deja était fait manuellement donc certainne case on deja 5 chiffre ex: 81234 ma macro rajoute a celle là un 8 quand meme alors qu'elle n'a besoin. car elle a dejà était modifier manullement là est mon probleme
l'autre pb est que j'arrive pas a lancer les 2 marcros en meme temp. enfin c'est un detaille
si quelqu'un peu m'aider svp si jamais le bosse de la macro XJL est dans le coin pour aider ;))
Sub ajout1()
For i = 1 To 100
If Cells(i, 3).Value <> "" Then
If IsNumeric(Cells(i, 3).Value) = True Then
Cells(i, 3).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
Next i
End Sub
Sub ajout2()
For i = 1 To 100
If Cells(i, 20).Value <> "" Then
If IsNumeric(Cells(i, 20).Value) = True Then
Cells(i, 20).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
Next i
End Sub
merci d'avance
A voir également:
- Macro besoin d'une petite aide ...
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Petite amie virtuelle en français gratuit - Accueil - Intelligence artificielle
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Excel récupérer couleur cellule sans macro ✓ - Forum Bureautique
1 réponse
Salut,
petite précision: si tu crois que je suis un pro de la macro, tu me surestime grandement ! ;-)
Ensuite pour ton problème: si j'ai bien compris, t'as des numéros dans les colonnes 3 et 20, ok, mais tu peux mettre les deux boucles dans la même macro...
Sub ajout1()
For i = 1 To 100
If Len(Cells(i, 3).Value) = 4 Then
If IsNumeric(Cells(i, 3).Value) = True Then
Cells(i, 3).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
Next i
For i = 1 To 100
If Len(Cells(i, 20).Value) = 4 Then
If IsNumeric(Cells(i, 20).Value) = True Then
Cells(i, 20).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
Next i
End Sub
Et voilà, ça devrait marcher, en fait, au lieu de vérifier si une case est vide, tu vérifies sur la longueur de la chaine de caractères qu'elle contient est égale à 4, puis tu vérifies qu'elle est numérique et seulement si ces deux conditions sont remplies, alors tu rajoutes un 8 devant ! J'espère que ça te vas ?! ;-)
petite précision: si tu crois que je suis un pro de la macro, tu me surestime grandement ! ;-)
Ensuite pour ton problème: si j'ai bien compris, t'as des numéros dans les colonnes 3 et 20, ok, mais tu peux mettre les deux boucles dans la même macro...
Sub ajout1()
For i = 1 To 100
If Len(Cells(i, 3).Value) = 4 Then
If IsNumeric(Cells(i, 3).Value) = True Then
Cells(i, 3).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
Next i
For i = 1 To 100
If Len(Cells(i, 20).Value) = 4 Then
If IsNumeric(Cells(i, 20).Value) = True Then
Cells(i, 20).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
Next i
End Sub
Et voilà, ça devrait marcher, en fait, au lieu de vérifier si une case est vide, tu vérifies sur la longueur de la chaine de caractères qu'elle contient est égale à 4, puis tu vérifies qu'elle est numérique et seulement si ces deux conditions sont remplies, alors tu rajoutes un 8 devant ! J'espère que ça te vas ?! ;-)
ca marche!
Mais mais mais ... j'ai encore une contrainte sur mon fichier Je dois rajout maintenant un "8" que au cellule qui commence par le nombre 6 ou 7 en avec les meme condition que avant
merci encore xjl si tu peu m'aider
Sub ajout1()
For i = 1 To 100
If Len(Cells(i, 3).Value) = 4 Then
If IsNumeric(Cells(i, 3).Value) = True Then
If Left(Cells(i, 3).Value, 1) = 6 Then
Cells(i, 3).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
End If
Next i
For i = 1 To 100
If Len(Cells(i, 3).Value) = 4 Then
If IsNumeric(Cells(i, 3).Value) = True Then
If Left(Cells(i, 3).Value, 1) = 7 Then
Cells(i, 3).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
End If
Next i
For i = 1 To 100
If Len(Cells(i, 20).Value) = 4 Then
If IsNumeric(Cells(i, 20).Value) = True Then
If Left(Cells(i, 20).Value, 1) = 6 Then
Cells(i, 20).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
End If
Next i
For i = 1 To 100
If Len(Cells(i, 20).Value) = 4 Then
If IsNumeric(Cells(i, 20).Value) = True Then
If Left(Cells(i, 20).Value, 1) = 7 Then
Cells(i, 20).Select
ActiveCell.Value = "8" & ActiveCell.Value
End If
End If
End If
Next i
End Sub
JE TE REMERCIE ENCORE
;-)