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 :

Erreur sur une variable tableau [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 70
    Par défaut Erreur sur une variable tableau
    Bonjour ,
    je veux lire une serie de cellules(ou colonnes) et affecter ses valeurs dans un tableau. mon tableau doit contenir normalement 153 cellules(car D4 à T12) non seulement ma macro compte 34 en plus il refuse d'affecter les valeurs dans mon tableau. voir le programme ecrit ci dessus
    Vous pourrez voir en image où il signale la faute. Merci d'avance pour votre aide


    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Dim Plage As Range
    Dim tableau() As String
    Dim tab_projet() As String, tab_caisse() As String, tab_UCM() As String
    Dim tab_moteur() As String, tab_IndMot() As String, tab_UFM() As String, tab_Puiss() As String, tab_Norme() As String
    Dim tab_Boit() As String, tab_IndBoit() As String, tab_GPlant As String
    Dim tab_NvEquipt() As String, tab_CteDir() As String, tab_Chauf As String, tab_Roue() As String
    Dim tab_NAV() As String, tab_Radio As String
    Dim i As Integer, j As Integer, m As Integer
    Dim nb_col As String, nb_lignes As Integer
     
    'La plage des cellules à tester
     
    'Set Plage = Range("D4:D" & Range("G12").End(xlUp).Row)
    Set Plage = Range(Range("D4"), Range("T12").End(xlUp))
    'lecture des colonnes D à T et affecter les valeurs dans Array
    MsgBox Plage.Count
    tableau = Plage.Value
    'MsgBox tableau(1, 1)
     
     
     
    'MsgBox Plage.Count
    'For i = 1 To Plage.Count
    ' tableau(1, i) = Str(tableau(1, i))
    ' Next i
     
    ' tab_projet = tableau(1, 1)
    ' tab_projet = Split(tableau(1, 1), ",")
    Images attachées Images attachées  

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    effectues cette ligne
    à la place de
    et regardes le résultat, déjà là tu vas avoir une surprise

    les lignes que je corrigerai au départ :
    j'enlève le string de la declaration tableau, pas le mien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim tableau()
    Set Plage = Range("D4:T" & Range("t" & Rows.Count).End(xlUp).Row)
    ReDim tableau(9, 17)' un redim
    tableau() = Plage
    MsgBox tableau(1, 1)
    PS : peut-être plus pratique pour le redim
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReDim tableau(Plage.Rows.Count, Plage.Columns.Count)
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

    Informations forums :
    Inscription : Février 2011
    Messages : 70
    Par défaut
    merci mais j'ai trouvé une qui correspond exactement à ce que je recherche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Plage = Range("D4:T" & Range("B65536").End(xlUp).Row)
    par contre je viens d'avoir une nouvelle difficulte (jamais 2 sans 3)
    mon tableau (2,2) = B85,S85 tandis tab_projet contient B85 alors que je voulais tab_projet = B85 S85 comme 2 elts ou valeurs distints appertenant à tab_projet et la dim de tab_projet devient 2, comment faire s'il vous plaît?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim Plage As Range
    Dim Tableau()
    Dim tab_projet() As String
    Set Plage = Range("D4:T" & Range("B65536").End(xlUp).Row)
    Tableau = Plage.Value
    MsgBox Tableau(2, 2)
    If Tableau(2, 2) <> "" Then
    test_tmp = Tableau(2, 2)
    tab_projet = Split(test_tmp, ",")
    Else
    ReDim tab_projet(1)
    tab_projet(1) = Tableau(2, 2)
    End If
    MsgBox tab_projet(1)
    Autre question, comment associer une lettre qui declengera une macro à partir de sa saisie sur une feuille excel , autrement dit, chaque fois que j'ecrit par exple "z" sur une feuille excel, ma macro se met automatiquement en marche?

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

Discussions similaires

  1. PROC MEANS : message erreur sur une variable
    Par tassia dans le forum Débutez
    Réponses: 5
    Dernier message: 14/09/2012, 12h33
  2. [XL-2007] erreur de déclaration sur une variable globale
    Par romca dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/08/2010, 20h22
  3. Réponses: 2
    Dernier message: 23/01/2008, 22h10
  4. Test sur une variable tableau évoluée
    Par p_12345 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 11/12/2007, 09h52
  5. [HTML] boucle sur une variable et non pas un tableau
    Par delma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/11/2006, 15h03

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