Plage de cellule

Bonjour a tous,

je reviens vers vous pour un probleme de plage de cellule

ma derniere ligne ajouté se nettoie bien a partir de la ligne 21 hors je ne veut pas aller au dela de la 43 (j'ai d'autre donnée au dela)

en gros je veux nettoyer une a une les ligne en partant de la ligne 21 1ere ligne la plus basse remplie jusqu'a la ligne 43

comment l'integrer a cette formule ?

par avance merci

Sub aa()
If MsgBox("Voulez-vous supprimer la dernière référence ajouté ?", vbYesNo, "Supprimer référence") = vbYes Then
Range("A" & 21).End(xlDown).ClearContents
Range("b" & 21).End(xlDown).ClearContents
Range("c" & 21).End(xlDown).ClearContents
Range("d" & 21).End(xlDown).ClearContents
Range("e" & 21).End(xlDown).ClearContents
Range("f" & 21).End(xlDown).ClearContents
End If
End Sub

Bonjour

Peut être ceci

Sub aa()
Dim i
If MsgBox("Voulez-vous supprimer la dernière référence ajouté ?", vbYesNo, "Supprimer référence") = vbYes Then
    For i = 43 To 21 Step -1
        Range("A" & i &":F" & i).ClearContents
    Next i
End If
End Sub

Attention que le code supprimera chaque fois depuis la ligne 43 à 21

Si vous voulez supprimer uniquement la ligne concernée par la dernière référence, il faut procéder autrement

Cordialement

Ok merci

Si je veux supprimer une ref en particulier je doit passer par une combobox

Pourquoi une combobox ? Vous utilisez des Userform ?

Si oui il faudrait voir au minimum le fichier pour comprendre et vous donner le bon code

j’ai réussi à le faire pour supprimer un client en le sélectionnant dans la combobox de l’userform si c’est cette solution la plus pratique je l’adapterai

Ah ben si vous utilisez une userform c'est plus pratique évidemment. Vous choisissez la référence puis vous supprimez.

Cordialement

Bonjour …

à tester (dans la fenêtre des codes de la feuille concernée) :

Private Sub Worksheet_BeforeDoubleClick(ByVal R As Range, Cancel As Boolean)
  If Intersect(R, [A21:A43]) Is Nothing Then Exit Sub
  If MsgBox("la dernière référence ajoutée ?", vbYesNo, "Supprimer ...") = vbYes Then Cells(R.Row, 1).Resize(, 6) = ""
End Sub
Rechercher des sujets similaires à "plage"