Signaler

Macro [Résolu]

Posez votre question Link2a 62Messages postés jeudi 8 décembre 2011Date d'inscription 10 avril 2017 Dernière intervention - Dernière réponse le 10 avril 2017 à 22:14 par Link2a
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.
Afficher la suite 
Utile
+1
plus moins
Bonjour
Un exemple
http://www.cjoint.com/c/GDjgtorOK1w
Cdlt
Cette réponse vous a-t-elle aidé ?  
Donnez votre avis
Utile
+0
plus moins
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.
Donnez votre avis
Utile
+0
plus moins
Si tout est sur la même feuille, c'est encore plus simple
http://www.cjoint.com/c/GDjizUtJfew
Cdlt
Link2a 62Messages postés jeudi 8 décembre 2011Date d'inscription 10 avril 2017 Dernière intervention - 9 avril 2017 à 11:16
Oui super ! comment tu fait alors pour que je puisse reproduire la même chose.
Répondre
Frenchie83 1673Messages postés lundi 6 mai 2013Date d'inscription 18 juin 2017 Dernière intervention - 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
Répondre
Link2a 62Messages postés jeudi 8 décembre 2011Date d'inscription 10 avril 2017 Dernière intervention - 10 avril 2017 à 22:14
Merci à toi pour le coup de main je vais essayer maintenant
Répondre
Donnez votre avis
Utile
+0
plus moins
Bonjour Link2a

Une idée dans le fichier sans macro

http://www.cjoint.com/c/GDjjeT0Jh3x
Link2a 62Messages postés jeudi 8 décembre 2011Date d'inscription 10 avril 2017 Dernière intervention - 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
Répondre
Donnez votre avis
Utile
+0
plus moins
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
Link2a 62Messages postés jeudi 8 décembre 2011Date d'inscription 10 avril 2017 Dernière intervention - 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.
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !