A
armaneous
Guest
bonjour,
je créé une base de donnée dans excel et je voudrai vérifier que les données entrées ne sont pas entrée 2 fois.
pour ça j'ai créé une clé par ligne et je fais compté le nombre de ligne avec la même clé.
si le nombre est supérieur à 1, je veux supprimer la ligne.
pour le moment j'ai la clé qui marche et pour la suite j'ai créé un code VBA mais il bloque lors de la sélection de la ligne.
le code c'est:
Dim ThisFileName As String
ThisFileName = ThisWorkbook.Name
Dim Recurence As Integer
Dim Limite As Integer
Limite = Workbooks(ThisFileName).Sheets("Data Base").Range("P2") 'nbr de ligne dans la base de donnée
Dim CellName As String
Dim RowName As String
Dim EndCellName As String
For Recurence = 25 To Limite
CellName = "J" & Recurence
EndCellName = "B" & Recurence
If Workbooks(ThisFileName).Sheets("Data Base").Range(CellName).Value > 1 Then
RowName = ":" & Recurence
RowName = Recurence & RowName 'détermination du nom de la ligne à supprimer
With Workbooks(ThisFileName).Sheets("Data Base")
.Row(RowName).Select
Selection.Delete Shift:=xlUp
End With
Recurence = Recurence - 1
Workbooks(ThisFileName).Sheets("Data Base").Range(EndCellName).Activate
If IsEmpty(ActiveCell.Value) = True Then GoTo Suite 'sortie de la boucle.
End If
Next
merci de votre aide
Suite:
je créé une base de donnée dans excel et je voudrai vérifier que les données entrées ne sont pas entrée 2 fois.
pour ça j'ai créé une clé par ligne et je fais compté le nombre de ligne avec la même clé.
si le nombre est supérieur à 1, je veux supprimer la ligne.
pour le moment j'ai la clé qui marche et pour la suite j'ai créé un code VBA mais il bloque lors de la sélection de la ligne.
le code c'est:
Dim ThisFileName As String
ThisFileName = ThisWorkbook.Name
Dim Recurence As Integer
Dim Limite As Integer
Limite = Workbooks(ThisFileName).Sheets("Data Base").Range("P2") 'nbr de ligne dans la base de donnée
Dim CellName As String
Dim RowName As String
Dim EndCellName As String
For Recurence = 25 To Limite
CellName = "J" & Recurence
EndCellName = "B" & Recurence
If Workbooks(ThisFileName).Sheets("Data Base").Range(CellName).Value > 1 Then
RowName = ":" & Recurence
RowName = Recurence & RowName 'détermination du nom de la ligne à supprimer
With Workbooks(ThisFileName).Sheets("Data Base")
.Row(RowName).Select
Selection.Delete Shift:=xlUp
End With
Recurence = Recurence - 1
Workbooks(ThisFileName).Sheets("Data Base").Range(EndCellName).Activate
If IsEmpty(ActiveCell.Value) = True Then GoTo Suite 'sortie de la boucle.
End If
Next
merci de votre aide
Suite: