Macro pour aller sur onglet

Résolu
Bonjour,

deuxieme question du jour :&

j'ai un classeur avec de trés nombreux onglets portant chacun un numéro de compte différent
je connais la possibilité de faire un sommaire avec un lien hypertexte mais cela est trés long quand le nombre d'onglet esttrés grand
existe il une macro , avec laquelle j'aurai la possibilité de mettre le nom de l'onglet sur lequel je souhaite aller sans avoir a effectuer un sommaire avec lien hypertexte ?

merci d avance de vos réponses

38 réponses

Résumé de la discussion

Utiliser une macro Excel pour accéder directement à un onglet par son nom sans passer par un sommaire avec des liens constitue la problématique centrale. Plusieurs membres évoquent des solutions liées à la création d'un classeur quotidien avec des onglets nommés comme -a, -dettes, -47511 dettes et -PM -475 mut, et discutent de tests et d'implémentations pratiques. En parallèle, des blocages techniques sont évoqués, notamment l’impossibilité d’enregistrer des classeurs sans macro et des propositions de tests avec des fichiers dédiés comme ClasseurQuotidien.xlsm. D'autres échanges portent sur des améliorations telles que le tri automatique, des chemins et noms de fichier générés, et des notes de tests à lire avant une mise en œuvre en réel.

Bobot (l’IA à votre service)
  1. Bonjour,
    Ne vous faites pas de souci se sera toujours avec plaisir de vous entendre.
    J'espère simplement que cette fois tout sera correct.

    0
    1. merci beaucoup le Pingou
      j'espére ne plus t'embéter

      salutations
      0
      1. bonjour ,
        je suis désolée je déplace la ligne mais ca me signale une erreur

        est ce du a cela que les libellés n'etaient plus convertit comme auparavant ?

        bonne soirée
        0
        1. Bonjour gercot1972,
          Décidemment ce début d'année est difficile, j'ai mal placé une ligne d'instruction, désolé.

          Dans les 3 blocs : ' traitement "47511 DETTES", "PM" et "475 MUT"

          La ligne d'instruction :
           .Cells(c, 4) = Left(.Cells(c, 4), ....)

          qui se trouve en fin du bloc If .Cells(c, 7).... de la boucle : For c = 2 To dlf
          doit être déplacer juste après l'instruction For.....

          Merci et Bonne journée.
          0
          1. merci beaucoup pour ta réactivité

            je teste demain :)

            bonne nuit
            0
            1. Bonjour gercot1972,
              Excusez-moi de ce dérangement j'avais oublié de contrôler si les sous-totaux étaient corrects.
              J'ai corrigé mon erreur et j'en ai profité pour mettre la police en rouge pour le sens [C].
              Votre classeur de base : https://www.cjoint.com/?3AhxeJxAPvm

              0
              1. merci beaucoup Le Pingou

                Géraldine
                0
                1. Bonjour gercot1972,
                  Je viens de voir votre message, je vais contrôler pour voir ou j'ai commis l'erreur et la corriger.
                  Pour demain.

                  0
                  1. Bonjour

                    j'ais pas vue de macro dans ton fichier desoler

                    essai avec ma macro pour voir la difference

                    A+

                    Maurice
                    0
                    1. Merci Maurice,

                      peux tu m'expliquer car la macro que j'utilise insere le signe moins mais sans influence puisqu il n'est que visuel
                      0
                      1. Bonjour

                        voila une macro pour mettre tes montant en negatif
                        car tes montont ne sont negatif

                        Sub TestCredit()
                        Columns("F:F").NumberFormat = "0.00_ ;[Red]-0.00 "
                        For L = 2 To Range("A" & Rows.Count).End(xlUp).Row
                        If Range("G" & L).Value = "C" Then
                        Range("F" & L).Value = Range("F" & L).Value * -1
                        End If
                        Next
                        End Sub

                        A+
                        Maurice
                        0
                        1. bonjour à tous
                          je reviens vers vous et particulièrement vers le Pingou qui m'a rendu un grand service avec une macro de rêve.
                          je suis confrontée à un soucis , je mets le document en document joint :
                          en effet dans mon onglet les signes négatifs s'affichent bien visuellement aux montant en Crédit mais il s'avére que si je me place sur la cellule, je peux voir que les signes moins n'ont aucune incidence sur les calculs et ne sont pas visible dans le détail de la cellule . de e fait j'ai des erreurs sur les sous totaux

                          Auriez vous une idée du probléme ?

                          bien cordialement

                          http://cjoint.com/?DAhsSq28Mji
                          0
                          1. Merci, content pour vous.
                            Avec tous mes voeux pour 2014.

                            0
                            1. bonjour

                              j'ai testé aujourd'hui en grandeur nature (humour), j'ai eut un petit soucis mais que j'ai pu vite résoudre
                              en effet l'extraction du logiciel sous excel s'enregistre en version n'acceptant pas les macro , donc j'ai à nouveau enregistré ma base et cela a fonctionnait à la perfection

                              mille merci Pingou , je mets en résolu le sujet et vous remercies tous pour cette aide

                              je pense revenir vous demander de l'aide tant que je n'aurai pas de formation sur les macro

                              bonne année 2014 à tous
                              0
                              1. bonjour ,

                                en effet le classeur quotidien ne contient pas de macro, mais celui qui me sert de test en contenait une
                                des demain je fais le test en reel après extraction du logiciel et te redis le verdict final , mais je n'ai aucun doute vu la qualité de ton travail

                                merci encore
                                0
                                1. Bonjour,
                                  Au passage, eh bien je pense que le classeur avec les données à traiter contient une macro et comme l'enregistrement se fait en extension [xlsx] (classeur sans macro) vous avez le message d'avertissement.
                                  J'avais pensé que le classeur quotidien ne contenait pas de macro .....si pas correct merci de me le faire savoir .... !

                                  0
                                  1. bonsoir
                                    je viens de tester et je suis confrontée a un blocage "les fonctionnalités suivantes ne peuvent pas être enregistrées dans des classeurs sans macro:
                                    projet VB"

                                    objtraiter.SaveAs Filename:=checomp, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

                                    mais après j'arrive quand même au résultat souhaiter
                                    0
                                    1. Bonjour

                                      Voila la 1er macro pour faire la colonne credit

                                      Sub TestCredit()
                                      Columns("F:F").Insert Shift:=xlToRight
                                      Columns("F:F").HorizontalAlignment = xlGeneral
                                      Columns("F:G").NumberFormat = "0.00_ ;[Red]-0.00 "
                                      Columns("F:G").ColumnWidth = 11
                                      For L = 2 To Range("B" & Rows.Count).End(xlUp).Row
                                      If Range("H" & L).Value = "C" Then
                                      Credit = Range("G" & L).Value
                                      Range("F" & L).Value = -Credit
                                      Range("G" & L).Value = ""
                                      End If
                                      Next
                                      Range("F1").Value = "Crédit"
                                      Range("G1").Value = "Débit"
                                      Range("A1").Select
                                      End Sub

                                      A+
                                      Maurice
                                      0
                                      1. merci Maurice
                                        0
                                    • 1
                                    • 2