IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Comment coder des conditions logiques sur 2 tableaux


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur Infrastructures
    Inscrit en
    Septembre 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Infrastructures
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2015
    Messages : 39
    Par défaut Comment coder des conditions logiques sur 2 tableaux
    Bonjour

    j'ai 2 tableaux de 2 colonnes et de "n" lignes.

    Tableau 1 Tableau 2

    A A toto
    B B toto
    C C titi
    D D toto
    EPF709 EPF709 titi
    F F titi
    G G titi
    H H toto

    j'ai créé une variable tableau 1 et une variable tableau 2
    j'ai créé nbligne pour tableau 1 et nbligne2 pour le tableau 2.

    Je veux dire :
    SI A (1er tableau) = A (deuxième Tableau) mettre toto sur la colonne à coté de A (premier tableau)
    mais A n'est pas forcément en premier dans le tableau 2

    en VBA :
    ActiveCell.FormulaR1C1 = "=IF cells(nbligne,1) = cells(nbligne2,1) then toto else titi
    et je boucle
    mais la formule n'est pas bonne.
    pouvez vous m'aider ???
    Merci
    Images attachées Images attachées  

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    regarde du coté du recherchev!

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 24
    Par défaut
    Bonjour,
    Peut être quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    tab1 = range("A1:B8") 'mise en mémoire du tableau 1
    tab2 = range("C1:D8") 'mise en mémoire du tableau 2
    for i=1 to 8
      for j=1 to 8
        if tab1(i,1)=tab2(j,1) then 'test de correspondance
          tab1(i,2)=tab2(j,2) 'recopie de la valeur
        end if
      next
    next

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur Infrastructures
    Inscrit en
    Septembre 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Infrastructures
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2015
    Messages : 39
    Par défaut
    Bonjour

    je peux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    objtab = range("A1").currentregion.select      ' select du tableau 1
    objtab2 = range("C1").currentregion.select      ' select du tableau 2
     
    nbligne = objtab.rows.count    'nombre de ligne du tableau 1
    nbligne2 = objtab2.rows.count    'nombre de ligne du tableau 2
     
    tab1 = range("A1:nbligne")  'mise en mémoire du tableau 1
    tab2 = range("C1:Nbligne2")  'mise en mémoire du tableau 2
    for i=1 to nbligne
      for j=1 to nbligne2    if tab1(i,1)=tab2(j,1) then    'test de correspondance
          tab1(i,2)=tab2(j,2)    'recopie de la valeur
        end if
      next
    next

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 24
    Par défaut
    Je ne sais pas trop comment tu comptes tes lignes et où sont situées tes données.
    Par contre je peux déjà te corriger sur ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tab1 = range("A1:B" & nbligne1)  'mise en mémoire du tableau 1
    tab2 = range("C1:D" & Nbligne2)  'mise en mémoire du tableau 2
    Bon courage

Discussions similaires

  1. Réponses: 9
    Dernier message: 12/08/2006, 01h36
  2. [EXCEL] Comment imbriquer des conditions
    Par Nicolas67 dans le forum Excel
    Réponses: 2
    Dernier message: 17/05/2006, 11h24
  3. comment afficher des données Access sur Word ??
    Par merlubreizh dans le forum Access
    Réponses: 7
    Dernier message: 16/09/2005, 15h07
  4. comment afficher des données Access sur Excel ??
    Par merlubreizh dans le forum Access
    Réponses: 9
    Dernier message: 14/09/2005, 14h38
  5. Comment spécifier des raccourcis claviers sur une Form ?
    Par Sydaze dans le forum Composants VCL
    Réponses: 5
    Dernier message: 17/06/2005, 09h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo