OVH Cloud OVH Cloud

effacer une ligne suite a click bouton dans la ligne en vba

1 réponse
Avatar
laodice1
Bonjour,

je suis très débutante dans la vba. c'est un sujet qui m'intéresse beaucoup.
je me perfectionne tranquillement ...
je suis bloquée sur mon fichier excel,
j'ai réalisé cette formule pour effacer la saisie d'une ligne complète (B)ou sur la cellule du bout de la ligne j'ai positionné un bouton qui efface bien la ligne concernée
j'aurai souhaité reproduire le même cheminement sur les autres lignes si j'étire la série vers le bas (via une variable ?) car le fichier se rempli via un formulaire de saisie.

J'avance lentement mais surement, voici ma saisie pour le moment sachant que j'aimerais mettre mes lignes en variable et pouvoir décaler la ligne a effacer en fonction du bouton qui s'y trouvera ( a chaque ligne se trouve un bouton "effacer".

'*************************
' effacer saisie de la ligne
'***************************
Sub supprimer()
'Déclaration de la variable
Dim var1_explicite As Integer


'Attribution d'une valeur à la variable
var1 = "B" + "5" + ":" + "s" + "5"
If MsgBox("Etes-vous certain de vouloir supprimer le contenu de la ligne ?", vbYesNo, "Demande de confirmation" ) = vbYes Then
Range(var1).ClearContents
MsgBox "Le contenu de la ligne a été effacé !"
End If


End Sub


merci beaucoup vraiment pour votre aide.

bonne fin de journée

1 réponse

Avatar
MichD
Bonjour,
Modifie la macro de cette manière.
Tu n'as qu'Í  sélectionner une cellule et tu exécutes la macro.
Elle va te demander si tu veux effacer la ligne de la cellule sélectionnée.
On pourrait faire autrement si tu avais une condition particulière pour
sélectionner et effacer une ligne.
'------------------------------------
Sub supprimer()
'Déclaration de la variable
Dim Var1 As String
Dim Ligne As Long
'Assure-toi que tu as la bonne feuille Í  l'écran
'afin d'effacer réellement la ligne appartenant Í  cette feuille
'Feuil1 est le nom de l'onglet de la feuille o͹ l'action
'se déroule.
Worksheets("Feuil1").Select
'On doit s'assurer qu'une cellule est bien sélectionnée
If TypeName(Selection) = "Range" Then
Ligne = Selection.Row
'Ligne prend la valeur de la cellule active
Var1 = "B" & Ligne & ":" & "S" & Ligne
If MsgBox("Etes-vous certain de vouloir supprimer le contenu de " & _
"la ligne " & Var1 & "?", vbYesNo, _
"Demande de confirmation") = vbYes Then
Range(Var1).ClearContents
MsgBox "Le contenu de la ligne " & Var1 & " a été effacé !"
End If
End If
End Sub
'------------------------------------
MichD