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 :

Test sur une variable tableau évoluée


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Par défaut Test sur une variable tableau évoluée
    Bonjour,

    mon problème: j'abuse du laxisme de vba. je m'explique dans le cadre d'un programme de "copier/coller retravaillés de données entre classeurs", je selectionne des lignes de feuille dans une variable (var1(i)).

    Plus loin dans le programe, je veux tester la premiere cellule de la ligne enregistrée en variable... ca marche très bien sauf si la variable est vide.

    Donc je voudrais tester si la variable est vide ou non.

    Voila ce que j'ai fais mais qui ne marche pas:

    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
    Private Sub CommandButton1_Click()
    Dim var1() 'je ne connais pas le type
    Dim i As Integer
     
    'on dimensionne le tableau à 4
    ReDim var1(4)
     
    'les trois premieres cases du tableau prenne en valeur le contenu de la ligne
    For i = 1 To 3
        var1(i) = Sheets(1).Rows(i)
        ' j'affiche le contenu de la premiere cellule de la ligne
        MsgBox var1(i)(1, 1)
    Next i
     
    ' j'essaye de tester les cases vides du tableau
    If var1(4)(1, 1) Is Empty Then MsgBox "toto" 'probleme erreur d'execution 424 ; objet requis
    End Sub


    Quelqu'un aurait une idée sur l'origine du problème?


    Ps: je sais que normalement je n'ai pas a tester ce genre de chose car je devrais savoir ou commence et s'arrete mes boucles mais il y en a plein d'imbriquées et j'ai de petits problemes d'effets de bord.


    merci

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    Hmmm je ne connais pas cette syntaxe. T'as essayé de caler un bon vieux .value?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If var1(4)(1, 1).Value = "" Then
    MsgBox "toto"

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If var1(4)(1, 1) Is Empty then

    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if is empty var1(4)(1,1) then

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je te conseille de lire cet article de Silkyroad : http://silkyroad.developpez.com/vba/tableaux/

    Tu verras que ta syntaxe comme celle-là : est fausse.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    désolé de te contredire starec mais j'ai déja utilisé cette forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tab_identifiant(i) = tableau_import(i)(1, dernierecolonne) ' je cale, je sais pas pourquoi c'est pas tableau_import(i)(dernierecolonne)
    j'avais écris ça a l'éposque parce que je comprenais pas vraiment le pourquoi, d'ailleurs c'est encore un peu vrai

  6. #6
    Invité
    Invité(e)
    Par défaut
    C'est possible, mais je ne l'ai jamais vu, ni utilisé. De plus je ne trouve pas cela logique.

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

Discussions similaires

  1. [XL-2003] Erreur sur une variable tableau
    Par hobine dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/03/2011, 16h52
  2. Test sur une variable dans la session
    Par midou159 dans le forum Struts 2
    Réponses: 3
    Dernier message: 17/01/2011, 21h26
  3. [Tableaux] Problème de test sur une variable
    Par Laurent64 dans le forum Langage
    Réponses: 7
    Dernier message: 20/05/2007, 14h04
  4. faire un test sur une variable
    Par donny dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2006, 15h55

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