Je m'adresse à vous car je bloque complètement sur une ligne de code que je n'arrive pas à appliquer à mon cas.
Je souhaiterais, lorsque j'appuis sur le bouton "EFFACER LIGNE" supprimer le contenu (et non la ligne) des colonnes A, B, D et G de la ligne sélectionnée.
J'ai un tableau dans lequel certaines cellules contiennent des formule (colonnes Nom article, prix et poids. Ces dernières ne doivent pas être supprimées.
Exemple : Je sélectionne la case la case ci-dessous, et les cellules qui s'effacent sont : "Johnson" , "10-50-30" , "2" , "17/03/2020"
J'ai cherché des solutions sur internet , mais je ne trouve que des lignes pour supprimer la ligne complète (entireRow), ou la vider (Clearcontent).
Pour ces deux cas j'ai réussi à les appliquer dans souci. Par contre j'ai essayé de trouver une solution en essayant de les adapter, mais je n'y arrive pas.
J'ai tenté des choses... (Ne me jugez pas je suis débutant ^^)
VB:
If Intersect(Target, Column(A, B, D, G)) = "" Then
Exit Sub
Else
If Intersect(Target, Column(A, B, D, G)) <> "" Then
Range("A" & Target.Row & "B" & Target.Row & "D" & Target.Row & "G" & Target.Row).ClearContents
End If
End If
Si quelqu'un peut me venir en aide et m'expliquer rapidement sa logique que je puisse comprendre facilement et apprendre comment utiliser la fonction en question .
Comme je le disais précédemment, et en étant honnête, j'ai tenté des choses sans vraiment savoir ce que je faisais à vrai dire. J'ai trouvé quelques trucs sur le net que j'ai essayé d'adapter.
Je seul vrai résultat que j'ai réussi à avoir :
1) C'est une suppression de ligne complète sélectionnée (ce qui ne m'intéressait pas car je voulais garder le nombre de ligne totale de mon tableau).
2) Vider la ligne complète sélectionnée (mieux, mais pas encore ça vu que j'ai des formules à conserver).
Je sais donc que ma logique n'est clairement pas la bonne
Je vous donne quand même ce sur quoi j'étais parti initialement et qui ne me convenait qu'à moitié car je vidais la ligne entière.
VB:
Sub EFFACERLIGNE_Cliquer()
Dim rep As Integer
rep = MsgBox("Voulez-vous vraiment effacer la ligne ?", vbYesNo, "Confirmation")
If rep = vbYes Then
'Suppression de la ligne ou cellule sélectionnée
L = ActiveCell.Row
Rows(L).ClearContents
End If
End Sub