Rows.Delete
A
Bonjour,
je n'arrive pas à faire fonctionner la partie
Rows(J).Delete
de cette macro
Sub efface_doublons()
'cherche les doublons et les efface
total_saisi
Dim i, A, J As Long, lig As Long
Dim mot1, mot2, mot3, mot4 As String
lig = total_saisi + 5
Dim K As Integer
For K = 1 To lig
With Sheets("Dico")
For J = 1 To lig
If J = K Then
J = J + 1
mot1 = .Cells(K, gb).Value
mot2 = .Cells(K, fr).Value
mot3 = .Cells(J, gb).Value
mot4 = .Cells(J, fr).Value
If mot1 = mot3 Or mot2 = mot4 Then
MsgBox "Vous avez déjà saisi ces 2 valeurs" & Chr(13) & mot1 & "=" & mot2 & " et " & mot3 & "=" & mot4
i = Application.InputBox("supprimer la ligne 1 :" & mot1 & "=" & mot2 & "ou 2 : " & mot3 & "=" & mot4)
ElseIf i = 1 Then
Rows(K).Delete
ElseIf i = 2 Then
Rows(J).Delete
End If
End If
Next J
End With
Next K
End Sub
MERCI DE VOTRE AIDE
Mots de passe : Alain
Bonsoir Alain83 le forum
là pas le temps mais juste un mot sur tes variables
Dim i, A, J As Long, lig As Long
Dim mot1, mot2, mot3, mot4 As String
cela signifie que tu déclares i en variant, a en variant, j en long et lig en long pas sur que c'est ce que tu veux
et en dessous
mot1 en variant, mot 2 en variant et mot 3 en variant et mot4 en string
voilà qui sera plus adapté
dim a&,i&,j&,lig&, mot1$,mot2$,mot3$,mot4$
a+
papou
Bonjour
Bonjour paritec
Je proposes une autre macro qui fait le même travail : Supprime les doublons
A toi de dire si cela te convient
Sub efface_doublons()
'cherche les doublons et les efface
Dim J As Long
Dim Lg As Long
With Sheets("Dico")
Lg = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A1:B" & Lg).Sort Key1:=.Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortTextAsNumbers
For J = Lg To 2 Step -1
If .Range("A" & J) = .Range("A" & J - 1) Then
.Rows(J).Delete
End If
Next J
End With
End Sub