Macro

Résolu/Fermé
Link2a Messages postés 82 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 9 janvier 2023 - Modifié le 8 avril 2017 à 23:23
Link2a Messages postés 82 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 9 janvier 2023 - 10 avril 2017 à 22:14
Bonjour, je voudrai créer un ascenseur avec par exemple les années 2015 2016 2017 etc...

Et chaque fois que je déroule cette ascenseur et que je sélectionne une année un tableau de l'année que j'ai sélectionné apparaisse.(sans avoir plusieurs feuille Excel en même temps j'avais déjà vu cette méthode sur un document mais j'ai jamais réussi à la refaire.)

Exemple je sélectionne 2015 il me donne le tableau de 2015 ensuite je déroule mon ascenseur je clique sur 2016 il me donne le tableau de 2016 etc...

J'espère avoir réussi à me faire comprendre je ne savais pas trop comment expliqué.


Merci beaucoup de votre aide.
A voir également:

5 réponses

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
9 avril 2017 à 08:20
Bonjour
Un exemple
https://www.cjoint.com/c/GDjgtorOK1w
Cdlt
1
Link2a Messages postés 82 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 9 janvier 2023 4
Modifié le 9 avril 2017 à 09:17
Oui, c'est exactement ça :)

quel est l'astuce ;) ?

Cependant il me semble mais je suis pas sur du tout la, que sur le fichier que j'avais tout ce passai sur une seul page la deuxième que tu as été créé n'existait pas.

On rentrai tout nos données sur le première feuille(celle ou il y a l'ascenseur et cette feuille la gardait tout en mémoire)

Mais franchement je ne suis pas sur du tout encore une fois.

Merci beaucoup.
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
9 avril 2017 à 10:26
Si tout est sur la même feuille, c'est encore plus simple
https://www.cjoint.com/c/GDjizUtJfew
Cdlt
0
Link2a Messages postés 82 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 9 janvier 2023 4
9 avril 2017 à 11:16
Oui super ! comment tu fait alors pour que je puisse reproduire la même chose.
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337 > Link2a Messages postés 82 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 9 janvier 2023
9 avril 2017 à 16:46
Bonjour
Ouvrir le fichier
Faire ALT + F11 (on accède au code VBA) dont voici le contenu

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Not Intersect(Target, [C4]) Is Nothing Then
        Set c = Columns("A").Find(Target, LookIn:=xlValues)
        If c Is Nothing Then Exit Sub
        Range(Cells(c.Row + 1, "A"), Cells(c.Row + 14, "E")).Copy Destination:=Range("C5")
    End If
End Sub

Cdlt
0
Link2a Messages postés 82 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 9 janvier 2023 4 > Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023
10 avril 2017 à 22:14
Merci à toi pour le coup de main je vais essayer maintenant
0
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
9 avril 2017 à 11:05
Bonjour Link2a

Une idée dans le fichier sans macro

http://www.cjoint.com/c/GDjjeT0Jh3x
0
Link2a Messages postés 82 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 9 janvier 2023 4
9 avril 2017 à 11:24
Bonjour,
J'aime bien ça aussi les deux solutions proposés me conviennent parfaitement est ce que tu peux m'expliquer comment tu fais sans macro.

Merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
9 avril 2017 à 15:38
Bonjour Link2a


C'est cette formule qui fait la recherche dans la feuille Base


=SI(LIGNE()-2>=NB.SI(Base!$A$1:$A$70;résultats!$A$1);"";INDIRECT(ADRESSE(EQUIV($A$1;Base!$A$1:$A$70;0)+LIGNE()-2;COLONNE()+1;3;1;"base");1))

Avec EQUIV(...) on cherche la ligne de la première Année à chercher
puis on décale pour les lignes suivantes avec la fonction LIGNE() et pour les colonnes avec la fonction COLONNE()
La fonction Adresse nous fournit l'emplacement de la cellule
et la fonction INDIRECT(...) nous donne le contenu de la cellule
0
Link2a Messages postés 82 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 9 janvier 2023 4
9 avril 2017 à 15:51
Ok je te remercie beaucoup j’essaierai dès que j'ai un moment .

Merci de ton aide si je n'y arrive pas je posterai un nouveau message pour te demander de l'aide.
0