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 :

Problème avec des tableaux


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 54
    Points : 55
    Points
    55
    Par défaut Problème avec des tableaux
    Bonjour a tous


    Voila j'ai un problème avec un tableau.

    Pour optimiser l'exécution de ma macro, j'ai suivi l'exemple sur le tuto mais ca me donne ca : erreur : l'indice n'appartient pas à la selection

    Voici le bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Option Base 0
    [...]
    Dim Tab_Col As Variant
    Dim Tab_Cr As Variant
    Dim Cmp1 As Long, Cmp2 As Long
     
    Tab_Col = ActiveSheet.Range("A1:A6")
    Tab_Cr = ActiveSheet.Range("B3:B13")
    For Cmp1 = LBound(Tab_Col) To Ubound(Tab_Col)
          For Cmp2 = LBound(Tab_Cr) To UBound(Tab_Cr)
                If Tab_Col(Cmp1) = Tab_Cr(Cmp2) Then
                        'Traitement
                End If
           Next Cmp2
    Next Cmp1
    Ca bloque sur la ligne "If Tab_Col(Cmp1) = Tab_Cr(Cmp2) Then"

    Le but est de trouver pour chaque valeur de la plage A1:A6 une valeur identique dans la plage B3:B13 pour un traitement spécifique dans la boucle If

    Merci de m'aider a débug

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 54
    Points : 55
    Points
    55
    Par défaut
    reuh ^^

    je viens de tester un truc "pour voir" et ca marche

    J'ai mit "If Tab_Col(Cmp1,1) = Tab_Cr(Cmp2,1) Then" à la place de "If Tab_Col(Cmp1) = Tab_Cr(Cmp2) Then"

    Ca marche c'est super mais, j'aimerais comprendre pourquoi faut mettre le ",1" vu que normalement le tableau a une seul dimension, vous pouvez m'expliquer pourquoi?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Points : 542
    Points
    542
    Par défaut
    avec ce code cela fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Sub test()
    Dim Tab_Col As Variant
    Dim Tab_Cr As Variant
    Dim Cmp1 As Long, Cmp2 As Long
     
    Tab_Col = ActiveSheet.Range("A1:A6")
    Tab_Cr = ActiveSheet.Range("B3:B13")
    For Cmp1 = LBound(Tab_Col) To UBound(Tab_Col)
          For Cmp2 = LBound(Tab_Cr) To UBound(Tab_Cr)
                If Tab_Col(Cmp1, 1) = Tab_Cr(Cmp2, 1) Then
                       'Traitement
                End If
           Next Cmp2
    Next Cmp1
    End Sub

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Points : 542
    Points
    542
    Par défaut
    bonjour,

    un tableau qui recupere une plage est toujours multidimensionnel, en general
    bidemensionnel , qq soit le nb de colonnes.
    la deuxieme dimension contient au moins un element (pour toi 1 col) et plus si la plage comporte plusieurs lignes et colonnes

  5. #5
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    EDIT : doublon avec patbou

    cordialement
    fred65200

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 54
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup pour cette explication

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de gcnew avec des tableaux
    Par tank86 dans le forum C++/CLI
    Réponses: 3
    Dernier message: 04/11/2010, 23h13
  2. Problème avec des tableaux d'objets
    Par flash link dans le forum SDL
    Réponses: 3
    Dernier message: 18/03/2009, 17h54
  3. Problème avec des tableaux de string
    Par Electroniktor dans le forum C++
    Réponses: 2
    Dernier message: 15/03/2008, 15h29
  4. Problème en mémoire avec des tableaux
    Par dword2add dans le forum C++
    Réponses: 3
    Dernier message: 11/11/2007, 13h36
  5. Réponses: 6
    Dernier message: 20/02/2007, 17h00

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