macro liste déroulante pour atteindre une cellule

rh.finances

XLDnaute Occasionnel
Bonsoir à tous les internautes de ce super site !

n'étant pas un grand expert des macros et après quelques tentatives infructueuses, je vous soumets le cas suivant:

dans le fichier ci-joint, j'ai créé une liste déroulante classique en A3 (prénommée "liste_mois_récap") intégrant des données figurant en BA1 : BA13
a côté de la cellule A3, j'ai placé un bouton "valider" avec une macro permettant d'atteindre la ligne du classeur correspondant au mot choisi dans la liste déroulante.

toutefois, cette procédure oblige à une double manipulation (sélectionner le mois en A3 et cliquer sur valider dans le bouton à côté).
J'aurais en fait souhaité créer un contrôle ComboBox avec une liste déroulante contenant les données BA1 : BA13. Avec ce contrôle Combobox, il suffirait alors de faire un clic sur un élément de la liste déroulante pour atteindre la ligne voulue (dans l'esprit de la macro figurant sur mon bouton "valider").

Je n'ai rien trouvé de concret sur les forums. pensez vous que cela est possible ?

par ailleurs, si vous testez le bouton "valider" figurant en B3, vous verrez que la macro me renvoie sur la ligne désirée mais cette ligne figure au milieu de l'écran.
Or, j'aurais souhaité que ce renvoi apparaisse plutôt en haut de l'écran (j'ai essayé de compléter ma macro avec une fonction qui s'apparente à décaler ou rowoffset mais j'y suis pas arrivé).

Si vous avez des idées pour me faire avancer sur le sujet, je vous dit par avance : "merci tout plein".

Alex
 

Pièces jointes

  • v.2 - gestionnaire planning horaire.xls
    508 KB · Affichages: 43
Solution
Re,
Bon, j'ai rendu seulement la 1ere combobox active (cellule A5 ) ( ne pas tenter de mettre les autres combobox active )
Pour plus de facilité d'utilisation de la combobox, j'ai créé des boutons retour pour chaque mois !
Particularité : le mois de la combo disparait aprés chaque utilisation !
Les autres combo étant inutile il faut les supprimer !
Bonne nuit !

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour

j'ai mis une événementielle dans le module de la feuille Test, dis moi si cela te convient

Cordialement

Ps: il suffit de sélectionner le mois dans ta liste et l'événementielle traite
 

Pièces jointes

  • Copie de v.2 - gestionnaire planning horaire_2.xls
    508 KB · Affichages: 62
Dernière édition:

rh.finances

XLDnaute Occasionnel
Bonsoir Yeahou, Jp14 et Jbarbe.

tout d'abord, merci infiniment pour vous être penchés sur mon problème !!

Yeahou : ta solution marche nickel et c'est exactement l'affichage que je souhaites avoir. toutefois, j'envisage de décliner la macro sur chacun des mois du planning. faut-il dans ce cas que je fasse un copier-coller de la macro dans la feuille "test" en modifiant le nom des cellules A3 et C5 ?

Jp14 : j'ai testé le combobox mais il n'apparait que le terme "juillet" dans la liste déroulante et rien ne semble se passer quand j'accède à la liste déroulante. c'est peut-être que j'ai mal appréhendé le fonctionnement de la liste déroulante (??)

Jbarbe : quand je clique sur n'importe quel mois de la liste déroulante, cela me renvoie à chaque fois sur la ligne 268 correspondant au récapitulatif général mais pas sur le mois voulu. par ailleurs, j'ai un décalage d'une ligne dans la colonne A.

en tout cas, encore une fois, milles merci pour vos propositions. je sens qu'on est proche de la solution idéale!

Alex
 

JBARBE

XLDnaute Barbatruc
Re,
Problème de macro réglée !
Par contre, je n'ai pas compris : j'ai un décalage d'une ligne dans la colonne A.
Bonne soirée !
 

Pièces jointes

  • gestionnaire planning horaire.xls
    523 KB · Affichages: 23
Dernière édition:

rh.finances

XLDnaute Occasionnel
Bonjour Jbarbe et Yeahou,

une nouvelle fois merci pour vos avancées sur mon tableau. vos deux solutions fonctionnent nickel.
Jbarbe : en fait, sur la colonne A, j'avais juste un petit décalage de cellule (on voit que les cellules fusionnées en noir sont décalées d'une ligne par rapport au reste du tableau. je n'ai qu'à me positionner en A1 et faire insérer une ligne pour corriger ce détail de forme).
j'ai en revanche 2 questions techniques sur la macro. le code précise "ElseIf i = 268 Then Range("A" & 268).Select".
dans le cas ou je ferais des insertions de lignes avant la ligne 268, cela m'obligerait à changer le code à chaque fois. est-il possible dans ce cas de changer le mot 268 par un nom qui aurait été créer dans le gestionnaire de noms sur Excel ?
par ailleurs, dans le format de contrôle de la combobox, il y est indiqué un nombre de ligne égal à 8 et en fait je n'arrive pas à savoir à quoi correspondent ces lignes.

suis pas très connaisseur de macros mais en tout cas cela m'intéresse beaucoup.

merci à vous

Alexandre
 

JBARBE

XLDnaute Barbatruc
Bonjour à tous,
en ce qui concerne : dans le format de contrôle de la combobox, il y est indiqué un nombre de ligne égal à 8
Cela correspond au nombre de lignes visibles dans la combobox !
Mais il vaut mieux prendre le fichier suivant :
La macro :
Code:
Sub a()
  Dim i As Long
  For i = 4 To 65000 Step 22 ' de la ligne 4 à la ligne 65000 par pas de 22 lignes (ecart)
  If Range("C" & i).Value = Range("liste_mois_récap").Value Then
  Range("A" & i).Select ' colonne A selectionnée
  Application.Goto Reference:=ActiveCell, Scroll:=True
  Exit For
  ElseIf Range("C" & i).Value = "" Then
  MsgBox "espace entre les dates devant être de 22 lignes" ' si pas de date trouvée
  Exit Sub
  End If
  Next i
End Sub

Bonne journée !
 

Pièces jointes

  • gestionnaire planning horaire-1.xls
    532.5 KB · Affichages: 29
Dernière édition:

rh.finances

XLDnaute Occasionnel
Bonjour à tous,
en ce qui concerne : dans le format de contrôle de la combobox, il y est indiqué un nombre de ligne égal à 8
Cela correspond au nombre de lignes visibles dans la combobox !
Mais il vaut mieux prendre le fichier suivant :
La macro :
Code:
Sub a()
  Dim i As Long
  For i = 4 To 65000 Step 22 ' de la ligne 4 à la ligne 65000 par pas de 22 lignes (ecart)
  If Range("C" & i).Value = Range("liste_mois_récap").Value Then
  Range("A" & i).Select ' colonne A selectionnée
  Application.Goto Reference:=ActiveCell, Scroll:=True
  Exit For
  ElseIf Range("C" & i).Value = "" Then
  MsgBox "espace entre les dates devant être de 22 lignes" ' si pas de date trouvée
  Exit Sub
  End If
  Next i
End Sub

Bonne journée !


Bonsoir JBARBE,
je me permets de revenir vers toi car avec les différentes solutions proposées, je crois que j'ai fini par m'y perdre un peu :-( .
j'ai essayé ta macro au-dessus mais j'ai été dans l'échec immédiatement. cela m'a mis à chaque fois le Msgbox d'erreur.
Dans le coup, je suis reparti sur ta solution de combobox que tu m'as transmise hier soir à 23h45 et que je trouvais super bien.
mais si ça marchait sur le fichier que tu m'as transmis, quand j'ai copié-collé la combobox sur un autre fichier en gardant les mêmes données de macro... là, ça ne marchait plus sur mon nouveau fichier. j'ai dans tous les cas un renvoi sur la ligne 268 (??)
et en même temps, en regardant de plus près la macro, j'ai pas vraiment compris la référence à la colonne AH, celle-ci étant une colonne vide.
bref, je suis finalement un peu dans le brouillard.

ni une, ni deux, j'ai pas cherché à me décourager et j'ai tenté d'aller plus loin dans la démarche.
j'ai donc copié-collé les combobox issus de ton message de 23h45 sur chaque mois du tableau et j'ai créé un nom spécifique pour chaque cellule liée à la combobox (select_sur_n°mois).
en complément j'ai créé des modules allant de 13 à 24 où j'ai copié ta macro mais en changeant à chaque fois "Range("liste_mois_récap")" par "Range(select_sur_n°mois).
j'ai par exemple testé au mois d'août (ligne A159) de sélectionner le mot "février" dans la liste déroulante... mais rien n'y fait ça ne marche. je tombe tout le temps sur la ligne 268.

si jamais tu avais un petit moment pour me conseiller sur le nouveau tableau joint, ce serait génial (promis, après ça, j'arrête !!).

encore merci et salutations sincères pour tout le travail déjà mené.

Alex
 

Pièces jointes

  • v.3 - gestionnaire planning horaire.xls
    536.5 KB · Affichages: 22

JBARBE

XLDnaute Barbatruc
Re,
Bon, j'ai rendu seulement la 1ere combobox active (cellule A5 ) ( ne pas tenter de mettre les autres combobox active )
Pour plus de facilité d'utilisation de la combobox, j'ai créé des boutons retour pour chaque mois !
Particularité : le mois de la combo disparait aprés chaque utilisation !
Les autres combo étant inutile il faut les supprimer !
Bonne nuit !
 

Pièces jointes

  • gestionnaire planning horaire-2.xls
    573 KB · Affichages: 56

rh.finances

XLDnaute Occasionnel
Re,
Bon, j'ai rendu seulement la 1ere combobox active (cellule A5 ) ( ne pas tenter de mettre les autres combobox active )
Pour plus de facilité d'utilisation de la combobox, j'ai créé des boutons retour pour chaque mois !
Particularité : le mois de la combo disparait aprés chaque utilisation !
Les autres combo étant inutile il faut les supprimer !
Bonne nuit !

Encore une fois : mille merci Jbarbe, pour ce travail épatant !!
Bonne journée

Alex
 

Discussions similaires

Statistiques des forums

Discussions
314 772
Messages
2 112 775
Membres
111 655
dernier inscrit
popolovich01