|
|
|
|
Bonjour,
Je suis débutant sur VBA. Je suis entrain de travailler sur une petite macro afain d'automatiser de la saisie de données sous Excel 2003.
La problématique est très simple, en function de ce qu'il y a dans une cellule, je dois rentrer une info dans la cellule voisine, et ainsi de suite pour toute une colonne. Les données a rentrer sont répétitives.
J'ai donc saisi une fonction If...then..Else if comme ceci:
If Range("G2") = "STONYKARB" Then Range("H2") = "ARB01"
ElseIf Range("G2") = "IXOPROGLO" Then Range("H2") = "IXOPR"
Une fois une de ces deux conditions remplies, je souhaiterai aller à la ligne, cad à la cellule "G3" et recommencer l'opération jusqu'a la dernière cellule de mon tableau
J'avais donc envisager utiliser la fonction Do...Loop Until
Afin d'aller a la ligne la fonction Offset. La première ebauche de ma macro donnerait cela:
Dim Range As String
Do
If Range("G2") = "STONYKARB" Then Range("H2") = "ARB01"
ElseIf Range("G2") = "IXOPROGLO" Then Range("H2") = "IXOPR"
Range("G2").Offset(1, 0).Activate
Loop Until IsEmpty(Range("G65536").End(xlUp).Select)
End Sub
Je suis peut-etre (surement!) à coté de plaque...j'ai 2-3 livres VBA pr Excel malheureusement je n'y trouve pas mon bonheur.
En tout cas si jamais vous avez une indication/conseil à me donner ca serait top!!
Merci par avance!
Bastien
Configuration: Windows XP Internet Explorer 6.0
Bonjour,
Range("G2").Select
Do
If Selection.Value = "STONYKARB" Then
Selection.Offset(0, 1).Value = "ARB01"
ElseIf Selection.Value = "IXOPROGLO" Then
Selection.Offset(0, 1).Value = "IXOPR"
End If
Selection.Offset(1, 0).Select
Loop Until IsEmpty(Selection)
A+ Cordialement, |
Re Bonjour,
Dim ILIG As Integer
For ILIG = 2 To Range("G65536").End(xlUp).Row
If Cells(ILIG, 7) = "STONYKARB" Then
Cells(ILIG, 8) = "ARB01"
ElseIf Cells(ILIG, 7) = "IXOPROGLO" Then
Cells(ILIG, 8) = "IXOPR"
End If
Next ILIG
Celà donne rigoureusement le même résultat Cordialement, |
Je reviens encore pour les puristes d'Excel qui ne sont pas VBA (liens), ils se reconnaîtront !
=SI(G2="STONYKARB";"ARB01";SI(G2="IXOPROGLO";"IXOPR";"")) Il suffit de mettre cette formule en H2 puis de la recopier jusqu'a la fin de la liste... Voilà (c'était pour le coté didactique !) A+ Cordialement, |
Répondre à Bastien06
|