effacer une ligne suite a click bouton dans la ligne en vba
1 réponse
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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