Bonjour à toutes et tous,
Je travaille avec pour base un tableau contenant ligne par ligne différentes informations.
J'essaye de programmer une macro qui repère si de nouveaux noms se sont ajoutés dans ce tableau.
Dans ce cas, une nouvelle ligne est créée pour laisser la place.
Voici un exemple de documents :
Je cherche donc à mettre à jour l'onglet "zone de traitement" en l'alimentant via l'onglet "zone arrivée".
Les lignes où un nom connu apparait sont copier/coller en dessous des autres correspondantes aux même nom.
Sinon les nouveaux noms sont trouvés dans la "zone arrivée" puis un pop up apparait et la ligne est collée.
Voici mon code :
Sub nouveau()
Dim g As Integer, h As Integer
For g = 1 To Sheets(6).Range("A" & Rows.Count).End(xlUp).Row
For h = 1 To Sheets(5).Range("A" & Rows.Count).End(xlUp).Row
If Sheets(6).Cells(g, 2).Value = Sheets(5).Cells(h, 2).Value Then
Exit For
h = h + 1
Sheets(5).Rows(h).Insert
Sheets(6).Rows(g).Copy
With Sheets(5).Range("A" & h)
.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End With
Else:
If MsgBox("NOUVEAU FOURNISSEUR DETECTE!", vbExclamation + vbOKOnly, "Création fournisseur") = vbOK Then
Sheets(5).Rows(1).Insert
Sheets(6).Rows(g).Copy
With Sheets(5).Range("A" & 1)
.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End With
End If
End If
Next g
End Sub
Mais lorsque je l'execute je reçois un message d'erreur "référence de variable de contrôle incorrecte dans next" ... et je ne comprend pas pourquoi.
Pourriez vous m'aider ??
Merci
Alexis Az