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 :

Numéroter des variables


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 55
    Par défaut Numéroter des variables
    Bonjour,
    J'essaie de trouver une façon de numéroter des variables de façon à ce que je puisse les utiliser dans une boucle en utilisant une variable i représentant le numéro de mes autres variables. J'avais écrit une macro assez longue qui fonctionnait avant que j'essaie de numéroter mes variables, mais en essayant de les le numéroter, j'ai fait planter Excel. J'ai perdu une partie de ma macro, mais grosso modo voici ce que j'essaie de 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
    15
    Sub TestVariable()
    Dim Var(1 To 2)
     
    i = 1
    Var(i) = "Bonjour"
     
     
     
    For i = 1 To 2
        If Var(i) = "Bonjour" Then
        'Actions
        End If
     
    Next i
    End Sub

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour Lune1,

    Bravo !
    Tu as donné la réponse à ta question ! Tu peux clore le sujet !

    Plus sérieusement, je ne comprends pas où tu rencontres une difficulté puisque ce que tu proposes fonctionne...

    Bref, il me semble que la communauté aura besoin de d'avantage d'explications !

    Cordialement,
    Kimy

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 55
    Par défaut
    Bonjour Kimy,
    Merci. Je ne savais pas que ma macro fonctionnait. Haha! C'est ce qui arrive quand ça fait trop longtemps qu'on tourne en rond : on n'y voit plus clair. Dans ma grosse macro (que j'ai fait planté par erreur), j'ai les variables var(1), var(2),..., var(i) assigné à des contenus de cellules. Par exemple, Var(1) assigné au contenu de la cellule L8 qui contient "AVR". Voici le code modifié:

    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
    Sub TestVariable()
    Dim Var(1 To 2)
     
     
     
    Var(1) = Range("L8").Value
     
     
    For i = 1 To 2
        If Var(i) = "AVR" Then
        MsgBox "Réussi!"
        End If
     
    Next i
    End Sub
    C'est fois, ça ne fonctionne pas ou je deviens folle.

  4. #4
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Lune1,

    Je suis désolé mais je ne comprends toujours pas !
    Ce que tu présentes devrait fonctionner. Donc je ne comprends pas quelle est la question, ce que tu souhaites et/ou tu bloques...

    Cordialement,
    Kimy

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 174
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je suis désolé mais je ne comprends toujours pas !
    Ce que tu présentes devrait fonctionner. Donc je ne comprends pas quelle est la question, ce que tu souhaites et/ou tu bloques...
    J'avoue moi non plus

    Si le problème vient du test If Var(i) = "AVR", il est possible que le contenu ait un espace après que tu ne visualises pas.
    J'ai pour habitude de tester le contenu des chaînes de caractères avec la fonction Trim comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Trim(Nom(1)) = "BlaBla" Then MsgBox "Yes"
    et si la casse ne doit pas être respectée ajoute la fonction LCase
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If LCase(Trim(Nom(1))) = "blabla" Then MsgBox "Yes"
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 55
    Par défaut
    Merci à tous. En effet, il y avait un caractère que je ne voyais pas. Maintenant que ceci est tiré au clair, je vais essayer de recréer ma grosse macro. Si j'ai d'autres problèmes, je vous le dirai (code à l'appui) sinon je passerai indiquer que le problème est résolu.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Salut,

    On pourrait avoir une impression d'écran de tes cellules juste pour voir ?

    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
     
    Sub TestVariable()
        Dim Var(1 To 2)
        Dim Ws As Worksheet
     
        ' Il faut spécifier une feuille avant Range("L8")... sinon, le code dépend de trop de paramètres qui ne sont plus lié à ton code lui même.
        ' Par exemple, si le code est placé dans un module standard, c'est la plage de cellule de ta feuille active qui est prise en compte.
        ' Si tu as plusieurs feuilles ou pire, si c'est un graphique qui est actif, ça plantera (un graphique n'a pas de cellule).
        Set Ws = Feuil1
        Var(1) = Ws.Range("L8").Value
     
        For i = 1 To 2
            If Var(i) = "AVR" Then
                MsgBox "Réussi!"
            End If
        Next i
    End Sub

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

Discussions similaires

  1. [C#] Récupération des variables system...
    Par smyley dans le forum Windows Forms
    Réponses: 7
    Dernier message: 04/08/2005, 11h39
  2. Réponses: 4
    Dernier message: 15/12/2002, 04h19
  3. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44
  4. [VB6] [Fichier] Enregistrer des variables de structure
    Par de.bo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/10/2002, 11h09
  5. Réponses: 4
    Dernier message: 18/07/2002, 13h32

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