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. 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+
  2. 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. 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. 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. 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. 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. 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. 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. 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