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

VBA - Liste en cascade et déplacement de formule vers la droite

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 !

lamailloche

XLDnaute Junior
Bonjour le Forum,
Liste en cascade : pour être positionner sur le 1er élément de la liste pour le second menu, j'ai dans Visual Basic Editor, insérer dans le Worsheet/Change de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$2" And Target.Count = 1 And Target <> "" Then
Target.Offset(2, 0) = Sheets("Paramètres").Range("GT_Manager")(1).Offset(1, Application.Match(Target, [PLTnew], 0) - 1)
End If
End Sub

Là, c'est ok !

Le souci vient après, quand je veux tirer une formule vers la droite sur plusieurs colonnes (1 colonne, ca fonctionne) par rapport à une cellule active, visual affiche une erreur "Incompatibilité de type" et pointe sur la ligne :
If Target.Address = "$D$2" And Target.Count = 1 And Target <> "" Then

Je ne comprends pas (il faut dire que j'ai pompé sur le site de J Boisgontier et beaucoup de choses m'échappent)
En espérant avoir été claire et que vous trouverez une réponse à mon problème.
Merci
 
Re : VBA - Liste en cascade et déplacement de formule vers la droite

Bonjour,


Code:
  If Not Intersect(Target, [d2:e2]) Is Nothing And Target.Count = 1 And Target <> "" Then

JB
 
Dernière édition:
Re : VBA - Liste en cascade et déplacement de formule vers la droite

Merci mais j'avoue que je ne comprends pas, alors je joins une copie d'écran de ma page excel.

If Not Intersect(Target, [d2:e2]) Is Nothing And Target.Count = 1 And Target <> "" Then

Pourquoi [d2:e2]) ?
 

Pièces jointes

Re : VBA - Liste en cascade et déplacement de formule vers la droite

Bonjour,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$D$2" And Target.Count = 1 Then
    If Target <> "" Then
       Target.Offset(2, 0) = Sheets("Paramètres").Range("GT_Manager")(1).Offset(1, Application.Match(Target, [PLTnew], 0) - 1)
    End If
  End If
End Sub

JB
 
- 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
7
Affichages
799
Réponses
2
Affichages
771
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…