Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Code VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

DAMIEN CERESER

XLDnaute Nouveau
Bonjour à tous, je suis tout nouveau sur le forum. Je ne suis pas forcément un expert sur Excel et en VBA, mais je me débrouille pour trouver sur différents forums des formules et des bouts de codes pour améliorer mes tableaux.
Pour le coup, je bute sur la macro ci-dessous:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("F2")) Is Nothing Then
Range("G2").Value = ""
Range("H2").Value = ""

End If

If Not Intersect(Target, Range("G2")) Is Nothing Then
Range("H2").Value = ""

End If

End Sub

Elle fonctionne très bien, mais je souhaite l'appliquer exactement comme ça sur 1000 lignes. Quelqu'un peut-il m'aider ?

Merci beaucoup
 
Solution
Bonjour le fil, DAMIEN CERESER, sylvanu (re)

Si j'ai bien compris la problématique
Une variante avec un seul IF
VB:
Private Sub Worksheet_SelectionChange(ByVal T As Range)
If Not Intersect(T, Range("F2:G1000")) Is Nothing Then
T.Offset(, 1).Resize(, 2 - (T.Column Mod 2)) = Empty
End If
End Sub
Bonjour Damien, et bienvenu sur le forum
Mettez plutôt votre code en forme, c'est plus lisible pour le lecteur ( avec l'outil ci dessus : </> )
Ci dessous un essai.
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("F2:F1000")) Is Nothing Then
        Range("G" & Target.Row).Value = ""
        Range("H" & Target.Row).Value = ""
    End If
    If Not Intersect(Target, Range("G2:G1000")) Is Nothing Then
        Range("H" & Target.Row).Value = ""
    End If
End Sub
Target.row donne le N° de ligne, Target.column le N° de colonne.
En espérant que ça fasse ce que vous voulez. 😉
 

Merci beaucoup Sylvanu ! C'est exactement ce que je voulais ! Je suis trop content !
 
Bonjour le fil, DAMIEN CERESER, sylvanu (re)

Si j'ai bien compris la problématique
Une variante avec un seul IF
VB:
Private Sub Worksheet_SelectionChange(ByVal T As Range)
If Not Intersect(T, Range("F2:G1000")) Is Nothing Then
T.Offset(, 1).Resize(, 2 - (T.Column Mod 2)) = Empty
End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
404
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
447
Réponses
4
Affichages
407
Réponses
14
Affichages
332
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…