Recherche dans un tableau et affichage d'une colonne

Bonjour,

Ci-joint le tableau sur lequel je travail en qualité de débutant.

En case A26 j'ai créé une liste déroulante qui reprend les valeur de la ligne 4. Une fois que j'ai cliqué sur la valeur concernée (valeur unique dans le tableau) j'aimerais ne faire apparaître que la colonne correspondant à cette valeur à droite de la colonne "A" qui elle doit rester apparente et éventuellement (pas obligatoire) ne pas faire apparaître les autres colonnes. Ce serait super sympa si quelqu'un pouvait m'aider.

17plan-cfmu.xlsx (23.19 Ko)

Merci à vous.

Yves

Bonjour,

j'espère que sa pourra vous aidez :

Sub test()
Dim nomColonne As Variant
For i = 2 To Range("IV1").End(xlToLeft).Column
     nomColonne = Split(Columns(i).Address(ColumnAbsolute:=False), ":")(1)

     If Cells(4, i) <> Range("A" & 26) Then
            Range(nomColonne & ":" & nomColonne).EntireColumn.Hidden = True
    End If
Next i

End Sub

Bonjour,

Ta liste ne va pas fonctionner dans le cas ou il y a le meme avion (A320) par exemple. Il manque un critere de differenciation.

C'est mon avis

12plan-cfmu.xlsx (24.17 Ko)

Bonjour DjiDji59430,

je n'est pas très compris ta remarque , peut tu l'expliquer si sa peut m'aider à m'améliorer 8)

ps; je viens de tester le sub avec l'avion A320 et il m'affiche bien les 2 colonne

Bonjour,

2 petit changements:

Sub test()
Dim nomColonne As Variant
Application.ScreenUpdating = False ' pour ne pas voir un défilement à l'écran
Range("B:Z").EntireColumn.Hidden = False ' montrer toutes les colonnes AVANT de masque celle qui est choisie
For i = 2 To Range("IV1").End(xlToLeft).Column
     nomColonne = Split(Columns(i).Address(ColumnAbsolute:=False), ":")(1)
     If Cells(4, i) <> Range("A" & 26) Then
            Range(nomColonne & ":" & nomColonne).EntireColumn.Hidden = True
    End If
Next i
End Sub

P.

Merci à vous de vous pencher sur mon problème. Comme je suis novice comment puis-je utiliser ce code dans mon tableau?

tu crée un bouton (ou un truc du genre) et tu l'affect le code (si elle marche ^^) ensuite il te suffira d'appuyer sur le bouton pour faire appel à ce petit programme.

ps : pour crée un bouton il vous aller dans l'onglet "Développeur" / insérer

C'est super! Mais y a-t-il moyen de lancer la macro lorsque je fais le choix dans la liste déroulante?

oui, par contre il faudra dans ce cas prendre le code que @patrick1957 a modifier

re,

essaie ceci

P.

23plan-cfmu.xlsm (26.49 Ko)

il faut affecter le code dans une feuille (clic droit sur la feuille/ visualiser le code

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Application.Intersect(Target, Range("A26")) Is Nothing Then

 ' vous mettez le code ici 

 End If
End Sub

En choisissant dans la liste déroulante puis "ENTER" ça ne fonctionne pas. En revanche je choisis dans la liste puis je clique sur un bouton auquel j'ai affecté la macro et là ça fonctionne. Merci à vous deux et je passe le topic comme résolu


Je voudrais mettre "résolu" pour le topic mais je ne vois pas le bouton "résolu"

Maintenant tout fonctionne parfaitement. Dès que je rentre le choix de l'avion dans la liste déroulante ça me lance la macro. Je voudrais toutefois avoir la possibilité de rajouter un avion. Y a-t-il une possibilité de faire une autre macro pour afficher tous les avions?

11plan-cfmu.xlsm (30.04 Ko)

Du coup je me suis lancer dans le cours VBA qui me parait excellent

C'est bon j'ai trouvé la solution. J'ai repris le premier module en enlevant la boucle et je l'ai annexé à un bouton.

Rechercher des sujets similaires à "recherche tableau affichage colonne"