Macro

Résolu
Bonjour,
Voilà, j'ai un tableau de clients sur Excel et j'aimerais faire une macro mais je n'y connais rien du tout.
Le but étant d'établir un raccourci clavier pour qu'un texte se rentre automatiquement dans la cellule où je suis pendantr le raccourci clavier..
Comment faire ?
Merci!

--
T'as un problème ? Passe sur CCM!
Il n'y a pas de problème sans solution.
Configuration: Windows XP
Firefox 2.0.0.16

18 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    J'ai un peu compris le fonctionnement des macros sur ce site http://www.ybet.be/formation_excell/16-macro-excel.php
    Mais je voudrais savoir s'il est possible de créer une macro qui se fait sur plusieurs cellules : ex : A1 "CCM" A2 "le meilleur" A3 "forum d'entraide".
    Quand je l'exécute, les cellules A2 et A3 sont des références relative!
    1. Contributeur
      Bonjour,

      Pas bcp le temps de m'étendre sur les explications car j'ai faim...
      Je pense que c'est qcq chose comme ça que tu veux :
      - Sur feuil1 nommer la zone où les raccourcis sont actifs (sur l'exemple c'est la zone encadrée)
      - Sur feuille 'Raccourcis' remplir les champs. Offset de 0 (la cellule de saisie du raccourcis) à 5. Le contenu de la cellule de destination n'est remplacé que si le champ est rempli dans la feuille 'raccourcis'
      Private Sub Worksheet_Change(ByVal Target As Range)
          If Intersect(Target, Range("zoneRaccourcis")) Is Nothing Then Exit Sub
          Dim i As Long, j As Long
          For i = 1 To [raccourcis].End(xlDown).Row - 1
              If [raccourcis].Offset(i, 0).Value = Target.Value Then
                  For j = 1 To 5 'nbre de cellules remplacées par le raccourcis
                      If [raccourcis].Offset(i, j) <> "" Then
                          Target.Offset(0, j - 1).Value = [raccourcis].Offset(i, j).Value
                      End If
                  Next j
              End If
          Next i
      End Sub

      exemple : http://www.cijoint.fr/cjlink.php?file=cj200808/cijq7ivozv.xls

      Si besoin de compléments n'hésite pas à demander

      eric
      1. Est ce qu'il serais possible de mettre à jour le lien vers le document excel exemple
      2. Contributeur
        Bonjour et de rien.
        eric
    2. Modérateur
      Je n'ai pas trop compris ton explication.
      Je vais m'expliquer plus peut être sur ce que je veux pour être sûr d'avoir été clair.
      Je suis en C4 et je vaux qu'en C4, C5 et C6 ce soit éctit respectivement "le" "meilleur" et "forum" par un raccourci clavier ou une façon simple.
      De même si je suis en D8, je veux que ce soit écrit la même chose en D8, D9 et D10.
      Merci.
      1. Contributeur
        as-tu ouvert et essayé avec l'exemple ?
    3. Modérateur
      je l'ai ouvert mais pas compris.
      Surtout le code : tu l'as mis ? où ? pourquoi ?
      1. Contributeur
        Je pensais que tu connaissais un peu les macros, excuse.
        Fais un clic-droit sur le nom d'onglet de la feuil1 et choisis 'visualiser le code'.
        Pour tester j'ai défini 2 raccourcis (CCM et ccm2) dans la feuille 'raccourcis', liste que tu peux allonger tant que tu veux la recherche des raccourcis s'interrompt à la 1ère cellule vide en colonne A.
        En feuil1 dans la zone encadrée saisi un des raccourcis que tu as défini.
        Teste déjà ça....

        Après avoir testé si le fonctionnement te convient il faudra modifier qcq paramètres pour adapter à ton besoin :
        - nommer la plage 'zoneRaccourcis' où doivent être actifs les raccourcis
        - dans la feuille 'Raccourcis' la 1ère cellule doit être nommée 'raccourcis'
        - dans la macro on peut modifier le nbre de cellules à remplir
        1. Modérateur
          J'ai du mal : comment je teste le raccourci ? c'est lequel de raccourci ?
          1. Contributeur
            Tu ouvres le fichier joint, tu te mets en B6 Feuil1, tu saisis ccm2 et tu fais Entrée
            1. Modérateur
              Rien ne se passe : il m'écrit tout simplement CCM2 dans la cellule.
              1. Contributeur
                Tu n'as pas du autoriser les macros...
                Pour excel 2003 :
                menu 'outils / options' onglet 'sécurité' cliquer sur 'sécurité des macros' choisir niveau moyen.
                Ré-ouvrir le fichier et accepter les macros
                Pour excel 2007 je ne sais pas...
                1. Modérateur
                  En effet, c'est cela que je veux !!!!!!!
                  Oui il me disait que les macros étaient désactivées quand j'ouvrais le fichier.
                  Le code que tu as saisi est-il de base (toujours le même pour exécuter cette action) ?
                  1. Contributeur
                    oui, mais valable uniquement pour la zone de saisie nommée, à toi de la rédéfinir...
                    Et j'ai prévu jusqu'à 5 cellules en lignes (les champs vides coté raccourcis laissent la feuille de saisie intacte pour les cellules concernées)
                    Essaie d'adapter plus précisement à ton besoin et demande si difficultés
                    1. Modérateur
                      Je te recontacterais sur ce post en cas de question.
                      Garde l'oeil ouvert. lol
                      Merci beaucoup en tout cas pour ton aide.
                      PS : Comment mettre le code sur un autre fichier ?
                      1. Contributeur
                        copier le code, clic-droit sur l'onglet de la feuille de saisie 'visualiser le code', coller dans la fenetre de code.
                        Ne pas oublier que tu as 2 noms à définir sur tes feuilles, un pour la zone de saisie des raccourcis, un autre sur la 1ère cellule (nom_du_champ ) au-dessus des definitions de raccourcis.
                        1. Modérateur
                          Merci beaucoup, cela fonctionne bien.
                          Par contre, le raccourci ne fonctionne qu'en le tapant dans la zone B2-B8 de ton fichier.
                          Comment étendre cette partie à toute la colonne B par exemple dans le code.
                          Merci.
                          1. Contributeur
                            Bonjour,

                            Là je crois que tu exagères, il suffit de lire.
                            post 2 : Sur feuil1 nommer la zone où les raccourcis sont actifs (sur l'exemple c'est la zone encadrée)
                            post 6 : nommer la plage 'zoneRaccourcis' où doivent être actifs les raccourcis
                            post 12 : oui, mais valable uniquement pour la zone de saisie nommée, à toi de la rédéfinir...
                            post 14 : Ne pas oublier que tu as 2 noms à définir sur tes feuilles, un pour la zone de saisie des raccourcis...

                            à moins que tu ne saches pas comment nommer une plage ???
                            1. Modérateur
                              Dans le code je ne sais pas nommer la plage désirée !
                              1. Contributeur
                                Pourquoi cherches-tu dans le code alors que j'ai écris 4 fois nommer la plage sur la feuille
                                Tu sélectionnes la plage concernée à la souris, tu fais menu 'insertion / nom / définir...' et dans 'nom dans le classeur' tu écris zoneRaccourcis (en respectant la majuscule) et tu cliques sur OK.
                                Ou bien si ça doit être actif sur toute la feuille tu mets une apostrophe ' devant le 1er if
                                eric
                                1. Modérateur
                                  D'accord merci.
                                  Désolé de pas avoir connecté mes deux neurones plus tôt.
                                  Je ne savais pas que c'était dans insertion, nom, définir.
                                  Merci.