Numérotation automatique
Bonjour à tous,
Je chercher sur le forum mais il y a pas loin de 1300 pages dans le résultat de recherche, après la première page je me suis dit que le plus simple était de poser la question en direct.
Voici ce que je souhaite faire.
J'ai 2 feuilles, sur l'une "IP", j'ai 5 boutons d'action On /Off
Quand je clique sur un de ces boutons, sur la feuille "FPC", des lignes apparaissent ou disparaissent. J'utilise Worksheets("FPC").range("B60").entirerow.hidden= true/false.
Les 5 boutons font appelle au cellule suivante B60, B64, B67, B71 et B74
Donc la formule Hidden est utilisé pour chacune de ces cellules, qui cache aussi d'autres Row , exemple ("B60:B63")
Egalement, dans la colonne B j'ai des valeurs qui vont de 1 à 10 maximum, où B60 = 6, B64 =7...
Les valeurs de 1 à 5 concernent les cellules B47 = 1, B48 = 2, B49 = 3, B50 = 4 et B56 = 5. Celles ci sont fixes et ne bougeront pas. Je me serai bien appuyé dessus au cas où des modifications soient apportées, bien que ce n'est pas prévues à ce jour.
Voici ce que je cherche à faire.
Quand je cache une ligne, disons B60, je souhaite que la valeur de B64 passe à 6, B67 à 7... c'est à dire moins 1
De même si B60 est visible avec la valeur 6, que B64 n'est pas visible, je souhaite que B67 soit à 7 et ainsi de suite.
L'ordre de selection de rendre visible ou non ainsi que la combinaison peut varier. Exemple, rien de visible, tout de visible ou encore B74 et B64 de visible mais pas le reste etc.
Mais je me retrouve avec des valeurs qui ne tiennent pas compte de la valeur précédente.
J'ai testé un truc (j'imagine qu'il y a tellement plus simple que vous allez rigoler) mais ça ne marche pas non plus.
Sub numerotationAuto()
If Worksheets("Fiche Projet Client").Range("B60").EntireRow.Hidden = False And Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B67").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B71").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B74").EntireRow.Hidden = False Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B64") = 7
Worksheets("Fiche Projet Client").Range("B67") = 8
Worksheets("Fiche Projet Client").Range("B71") = 9
Worksheets("Fiche Projet Client").Range("B74") = 10
'pour B67 x3
ElseIf Worksheets("Fiche Projet Client").Range("B67").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B71").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B74").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B64") = 7
'pour B64 x3
ElseIf Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B67").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B74").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B71") = 7
ElseIf Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B67").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B71").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B74") = 7
'pour B60 x3
ElseIf Worksheets("Fiche Projet Client").Range("B60").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B74").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B67") = 6
Worksheets("Fiche Projet Client").Range("B71") = 7
ElseIf Worksheets("Fiche Projet Client").Range("B60").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B71").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B67") = 6
Worksheets("Fiche Projet Client").Range("B74") = 7
ElseIf Worksheets("Fiche Projet Client").Range("B60").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B67").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B71") = 6
Worksheets("Fiche Projet Client").Range("B74") = 7
'pour B67 x2
ElseIf Worksheets("Fiche Projet Client").Range("B67").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B74").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B67") = 7
Worksheets("Fiche Projet Client").Range("B74") = 8
ElseIf Worksheets("Fiche Projet Client").Range("B67").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B71").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B71") = 7
Worksheets("Fiche Projet Client").Range("B74") = 8
'pour B64 x2
ElseIf Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B74").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B67") = 7
Worksheets("Fiche Projet Client").Range("B71") = 8
ElseIf Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B71").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B67") = 7
Worksheets("Fiche Projet Client").Range("B74") = 8
ElseIf Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B67").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B71") = 7
Worksheets("Fiche Projet Client").Range("B74") = 8
'pour B60 x2
ElseIf Worksheets("Fiche Projet Client").Range("B60").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B74").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B64") = 6
Worksheets("Fiche Projet Client").Range("B67") = 7
Worksheets("Fiche Projet Client").Range("B71") = 8
ElseIf Worksheets("Fiche Projet Client").Range("B60").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B71").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B64") = 6
Worksheets("Fiche Projet Client").Range("B67") = 7
Worksheets("Fiche Projet Client").Range("B74") = 8
ElseIf Worksheets("Fiche Projet Client").Range("B60").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B67").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B64") = 6
Worksheets("Fiche Projet Client").Range("B71") = 7
Worksheets("Fiche Projet Client").Range("B74") = 8
ElseIf Worksheets("Fiche Projet Client").Range("B60").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B67") = 6
Worksheets("Fiche Projet Client").Range("B71") = 7
Worksheets("Fiche Projet Client").Range("B74") = 8
ElseIf Worksheets("Fiche Projet Client").Range("B74").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B64") = 7
Worksheets("Fiche Projet Client").Range("B67") = 8
Worksheets("Fiche Projet Client").Range("B71") = 9
ElseIf Worksheets("Fiche Projet Client").Range("B71").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B67") = 7
Worksheets("Fiche Projet Client").Range("B74") = 8
Worksheets("Fiche Projet Client").Range("B74") = 9
ElseIf Worksheets("Fiche Projet Client").Range("B67").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B64") = 7
Worksheets("Fiche Projet Client").Range("B71") = 8
Worksheets("Fiche Projet Client").Range("B74") = 9
ElseIf Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B67") = 7
Worksheets("Fiche Projet Client").Range("B71") = 8
Worksheets("Fiche Projet Client").Range("B74") = 9
ElseIf Worksheets("Fiche Projet Client").Range("B60").EntireRow.Hidden = True Then
Worksheets("Fiche Projet Client").Range("B64") = 6
Worksheets("Fiche Projet Client").Range("B67") = 7
Worksheets("Fiche Projet Client").Range("B71") = 8
Worksheets("Fiche Projet Client").Range("B74") = 9
ElseIf Worksheets("Fiche Projet Client").Range("B60").EntireRow.Hidden = False And Worksheets("Fiche Projet Client").Range("B64").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B67").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B71").EntireRow.Hidden And Worksheets("Fiche Projet Client").Range("B74").EntireRow.Hidden = False Then
Worksheets("Fiche Projet Client").Range("B60") = 6
Worksheets("Fiche Projet Client").Range("B64") = 7
Worksheets("Fiche Projet Client").Range("B67") = 8
Worksheets("Fiche Projet Client").Range("B71") = 9
Worksheets("Fiche Projet Client").Range("B74") = 10
End If
End SubClairement j'ai pris certainement trop de temps avant de venir chercher de l'aide sur le forum.
J'ai aussi testé un bouton à part pour mettre à jour les valeurs une fois que tout est selectionné, mais j'ai pas réussi non plus. Je dis ça car je veux bien passer par un bouton "Valider" si nécessaire, même si je préfèrerai que ce soit automatisé à l'activation d'un de ces 5 boutons.
Merci pour votre aide.
EDIT Modo : lorsque vous postez un code, veillez à utiliser les balises de code en cliquant sur le bouton </> dans la barre de menu.
Bonjour
Effectivement, ça peut aider.
J'ai dû effacer quelques infos, car discretion oblige, mais toutes les fonctionnalités sont là.
Le codage en cours de test se situe dans le module 6 tout en haut, nommé "BoutonFinal()"
C'est un collègue qui pense que ça va fonctionner, je ne maitrise pas les variables et n'ai pas fini de regarder si tout allait fonctionner.
Dans tous les cas, c'est gentil d'y jeter un coup d'oeil, merci
Salut,
Ta demande manque réellement de précision. Tu as par exemple deux fois le numéro 5 dans ta liste de B47 à B74 sur ta feuille ‘’Fiche Projet Client’’ (tu devrais penser que d’écrire que tu as une feuille nommée ‘’FPC’’ n’est pas compréhensible à la première lecture !). Tu as aussi deux fois le même énoncé dans les cellules C61 et C64 de cette même feuille.
Tu dis avoir 5 boutons sur ta feuille ‘’Infos Principales’’ (et non pas ‘’IP’’ !), mais s’il y a bien une quantité de semblant de boutons, il n’est pas clair desquels 5 tu parles.
J’ai donc placé 5 textes sur cette feuille – vers les cellules T14 et suivantes - afin de te faire une démonstration d’une macro possible, textes repris des tiens sur la feuille ‘’Fiche Projet Client’’.
Le texte sur la feuille ‘’Fiche Projet Client’’ s’affichent ou se masquent selon le texte en place vis-à-vis de ces noms sur la feuille ‘’Infos Principales’’, dans la colonne U. Afin de modifier ces textes de la colonne U, il suffit de double-cliquer dessus.
Une fois les bonnes lignes masquées ou affichées, les numérotations des colonnes B et C de la feuille ‘’Fiche Projet Client’’ sont réactualisées.
Le code propose est placé dans le code de la feuille ‘’ Infos Principales’’ sous le nom ‘’Private Sub Worksheet_BeforeDoubleClick’’.
A te relire.
Salut.
Tout d'abord, merci. Effectivement ça marche exactement comme souhaité.
tu intègres beaucoup de connaissance que je n'ai pas, donc je fronce les sourcils pour bien comprendre le code, clairement je n'y suis pas encore.
Ce qui m'amène à vouloir comprendre certaine chose, quitte à avoir sollicité de l'aide, l'obtenir, autant que j'apprenne par la même occasion, si tu as encore un peu de temps à me consacrer j'en serai ravi.
Pour ce qui est de la présentation de ma demande initiale, effectivement, je pensais bien faire en évitant certaines longues lignes, quand en fait c'était nécessaire.
Apprentissage par l'erreur, check!
Donc merci encore, c'est top, ça débloque la situation.
........... si tu as encore un peu de temps à me consacrer j'en serai ravi.
Normalement, pas de problème. Si tu me dis ce que tu souhaites en plus, je vais voir si je peux te l'offrir.
Pour ce qui est de la présentation de ma demande initiale, effectivement, je pensais bien faire en évitant certaines longues lignes, quand en fait c'était nécessaire.
Je n'ai pas vraiment compris cette affirmation, mais je ne pense pas que ce soit si important.
A te relire ?
Amicalement.