Probleme sur écriture d'une macro

bernard - Modifié par kazma le 4/02/2016 à 15:54
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 4 févr. 2016 à 15:47
Bonjour,

Je me permets de vous envoyer l'écriture d'une macro et je n'arrive pas à trouver l'erreur sur la macro suivante:

Range("G2").Select
Range("G2").End(xlDown).Select
Do While Not IsEmpty(ActiveCell.Value) And ActiveCell.Row > 1

If ActiveCell = "448" Or ActiveCell = "854" _
Then
ActiveCell.Offset(0, 17).FormulaR1C1 = "Bernito berna"
End If
ActiveCell.Offset(-1, 0).Select

Range("G2").Select
Range("G2").End(xlDown).Select
Do While Not IsEmpty(ActiveCell.Value) And ActiveCell.Row > 1

If ActiveCell = "272" _
Then
ActiveCell.Offset(0, 17).FormulaR1C1 = "Nico justice"
End If
ActiveCell.Offset(-1, 0).Select



If ActiveCellActiveCell = "643" _
Or ActiveCell = "954" Or ActiveCell = "9236" _
Then
ActiveCell.Offset(0, 17).FormulaR1C1 = "Jojo poupou"

End If
ActiveCell.Offset(-1, 0).Select
Loop

Range("G2").Select
Range("G2").End(xlDown).Select
Do While Not IsEmpty(ActiveCell.Value) And ActiveCell.Row > 1

If ActiveCell = "991" Then

ActiveCell.Offset(0, 17).FormulaR1C1 = "Yoyo guernito"

End If
ActiveCell.Offset(-1, 0).Select
Loop

Range("G2").Select
Range("G2").End(xlDown).Select
Do While Not IsEmpty(ActiveCell.Value) And ActiveCell.Row > 1

If ActiveCell = "999271" _
Or ActiveCell = "10510" Or ActiveCell = "9418" _
Then
ActiveCell.Offset(0, 17).FormulaR1C1 = "Nico justice"
End If

ActiveCell.Offset(-1, 0).Select
Loop

Range("G2").Select
Range("G2").End(xlDown).Select
Do While Not IsEmpty(ActiveCell.Value) And ActiveCell.Row > 1

If ActiveCell = "998899" Then


End Sub


voila l'ecriture.

j'ai fais le tour de tous les forum et je ne trouve aucune réponse à ce problème, je vous remercie par avance pour votre aide.

Cordialement

1 réponse

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
4 févr. 2016 à 15:47
Bonjour,

Tu devrais expliquer un peu plus ton problème et ce que tu souhaites faire.

Ton code utilise plein de Select (mauvaise chose) et tu changes de ligne à chaque IF
>>> ActiveCell.Offset(-1, 0).Select

Donc la 1e vérification se fait sur une ligne, la suivante se fait sur la ligne précédente,...
0
Rejoignez-nous