IndicatriceVBA

Résolu
Bonjour,

Je sais meme pas comment commencer pour cette macro.

J'ai une colonne(colonne A) dans laquelle j'ai 16 pays différents:
en A1 j'ai Angleterre: je veux une macro qui me met 1 en B1 et que des 0 sur les 15 autres cellules sur la meme ligne en C1 D1 .... jusqu'à Q1 ( donc je veux que l'indicatrice me mette 1 en B1 si Angleterre et 0 sinon 0 sinon partout ailleurs)

en A2 j'ai Italie, ici le but ca serait d'avoir 0 en B2 1 en C2 et que des 0 après jusqu'à Q2
donc l'indicatrice ici c 1 en C2 et 0 sinon partout ailleurssur la ligne 2 et ainsi de suite jusqu'à la ligne 1219 ou j'ai le dernier pays

Y' a peut etre une fonction VBA que je connais pas et que j'arrive n'y a trouver sur mon livre VBA ni sur le net

Merci d'avance pour votre aide

9 réponses

  1. Bonsoir,

    Je me permets parce que la solution m'a l'air un peu compliqué...
    Perso, je ferais sans VBA en étendant une formule, à savoir :
    =SI($D20=G$1;1;0)
    1. bonjour
      je ne sais pas si j'ai bien compris le pb,
      le 1 correspond au rang du pays (col A) dans le tableau des 16 pays(tabpays)

      - sans macro
      A1=SI(EQUIV($A1;TabPays;0)=COLONNE()-1;1;0)
      a tirer dans tout le tableau

      - avec macro voir le fichier joint

      http://www.cijoint.fr/cjlink.php?file=cj201101/cij2NKr0JH.xls

      RQ. si ça ne convient pas envoies ton fichier avec le debut rempli

      bonne suite
      1. Merci pour ton aide

        voila ca que je veux j'ai commencé à remplir les 4 premières lignes à la main

        http://www.cijoint.fr/cjlink.php?file=cj201101/cij1WDmkSj.xls

        la macro que tu m'as envoyé y'a un bug jvois pas l'erreur ca a l'air bon.
        1. re
          - un pb avec les liasons. je n'ai pas recupere les données de la feuille 2 (G1:W1 et D20:Dxx qui doivent provenir de quelque part ...
          je suppose qu'il s'agit des pays ...

          sans macro (feuille2)

          G20=SI(EQUIV($D20;$G$1:$W$1;0)=COLONNE()-6;1;0)

          à tirer dans ton tableau

          avec macro
          - pas d'erreur dans la mienne mais elle n'est pas placée au bon endroit
          - si tu veux du VBA, tu dis

          bonne suite
          1. j'ai pas excel sur mon pc portable chez moi, donc jpourrais tester tout ca que demain à la fac

            Merci
            1. re

              et avec macros
              http://www.cijoint.fr/cjlink.php?file=cj201101/cijLsd8Ydo.xls

              bonne suite
          2. merci pour ton aide

            serait il possible d'voir des commentaires pour essayer de comprendre la macro,
            histoire que je sois capable de la réutiliser parce que j'avoue que je comprends pas la macro et donc j'arrive pas à corriger l'erreur y'a un bug là :

            If pays = Range("Tabpays").Cells(lipays, 1).Value Then

            sinon la formule marche très bien dans cette formule j'ai regardé l'aide excle mais je ne comprends pas le =COLONNE()-6 cque ca veut dire???
            G20=SI(EQUIV($D20;$G$1:$W$1;0)=COLONNE()-6;1;0)

            Je sais que j'en demande trop.
            1. Ca serait peut etre plus simple avec le fichier, alors j'ai modifié la macro en suivant tes commentaires(j'ai plus d'erreur) mais j'ai des 0 partout à part sur l'avant dernière colonne

              http://www.cijoint.fr/cjlink.php?file=cj201101/cijQwlxRlk.xls

              Merci encore
              1. re

                ccm me pose pas mal de pb aulourd'hui

                le fichier corrigé avec quelques explications

                http://www.cijoint.fr/cjlink.php?file=cj201101/cijE7uhYH4.xls

                RQ1. j'ai mis un bouton dans la feuille indic 2 pour lancer le remplissage du tableau
                RQ2. le code attaché a ce bouton est dans la feuille indic 2, (si tu le places dans un module, il faudra ajouter a chaque Range le nom de la feuille )
                RQ3. fais le menage parmi tes noms
                RQ4. dans la feuille indic 2 tu peux figer les volets histoire de garder visibles la ligne 1 et la colonne d

                bonne suite
                1. Tu as tout à fait raison Zoul67, je n'avais pas pensé à jouer avec les $

                  Merci, à toi aussi ccm81, ta macro elle marche très bien.
                  1. Bonsoir Ines,

                    Peux-tu placer le sujet en "Résolu" ?

                    A+