Effacer le contenu de plusieurs cellules Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
YannisB
Membre fidèle
Membre fidèle
Messages : 160
Inscrit le : 11 avril 2019
Version d'Excel : Excel 2010

Message par YannisB » 27 juin 2019, 14:22

Bonjour, :mrgreen:
Je cherche une parcelle de code qui me permettrait, quand je double clique sur une cellule de la colonne B (de B5 à B50), de vider le contenu des cellules de la ligne, de A à H, puis de faire de même pour toutes les lignes en dessous, mais uniquement si elles ne contiennent rien dans la cellule B.

ex: je double click sur B5, ça vide de A5 à H5, puis si B6 est vide, ça vide de A6 à H6 etc...


merci d'avance! :mrgreen:
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 1'988
Appréciations reçues : 214
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 27 juin 2019, 14:34

Bonjour YannisB, le forum,

Dommage que tu n’ai pas joint un fichier..... :bof:

Donc une réponse hasardeuse à tester....
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim i As Integer

 If Not Application.Intersect(Target, Range("B5:B50")) Is Nothing Then
  Range("A" & Target.Row & ":H" & Target.Row).ClearContents
   For i = 5 To 50
    If Range("B" & i) = "" Then Range("A" & i & ":H" & i).ClearContents
   Next i
 End If
 Cancel = True
End Sub
Cordialement,
Modifié en dernier par xorsankukai le 27 juin 2019, 14:42, modifié 1 fois.
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 5'534
Appréciations reçues : 321
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 27 juin 2019, 14:35

Bonjour,

à tester,
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set isect = Application.Intersect(Target, Range("B5:B50"))
If Not isect Is Nothing Then
  If Target = "" Then
    Range("A" & Target.Row).ClearContents
    Range("C" & Target.Row & ":H" & Target.Row).ClearContents
  End If
End If
End Sub
Vive ces nouvelles saisons qui nous colorent.
isabelle
Avatar du membre
YannisB
Membre fidèle
Membre fidèle
Messages : 160
Inscrit le : 11 avril 2019
Version d'Excel : Excel 2010

Message par YannisB » 27 juin 2019, 14:43

Merci de vos réponses, le fichier est trop complexe pour être envoyé en exemple à mon avis, le fonctionnement est long a comprendre :lol:
J'avais oublié de vous préciser qqch, c'est dès que l'on rencontre une cellule ("B"&i) non vide, on s'arrète, j'ai alors testé cela, mais j'ai apparemment un else sans if, pourtant il y est... :lole:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim i As Integer

 If Not Application.Intersect(Target, Range("B5:B50")) Is Nothing Then
  Range("A" & Target.Row & ":H" & Target.Row).ClearContents
   For i = 5 To 50
    If Range("B" & i) = "" Then Range("A" & i & ":H" & i).ClearContents
    Else: GoTo 8
   Next i
8
 End If
End Sub
    
EDIT: ce que j'ai fais n'est pas cohérent, si je double cloque sur B16, je veux vérifier à 17, 18, 19 etc et pas de 5 à 50 :lole:
En plus il n'y avait pas de end if, je l'ai vu après
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 1'988
Appréciations reçues : 214
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 27 juin 2019, 14:59

Re,

A tester...
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim i As Integer, dl As Integer
 

 If Not Application.Intersect(Target, Range("B5:B50")) Is Nothing Then
  Range("A" & Target.Row & ":H" & Target.Row).ClearContents
   For i = Target.Row To 50
    If Range("B" & i) = "" Then Range("A" & i & ":H" & i).ClearContents
   Next i
 End If
 Cancel = True
End Sub
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
Avatar du membre
YannisB
Membre fidèle
Membre fidèle
Messages : 160
Inscrit le : 11 avril 2019
Version d'Excel : Excel 2010

Message par YannisB » 27 juin 2019, 15:05

J'ai modifié un peu ce que tu m'a donné et maintenant cela marche parfaitement! merci de votre aide! :mrgreen:
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message