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 :

Boucle FOR - création de variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Par défaut Boucle FOR - création de variable
    Bonjour à tous !

    Je suis bloqué sur un problème qui me parait assez simple mais que je n'arrive pas à résoudre :/
    J'aimerais écrire une boucle permettant de créer des variables i1, i2, i3, i4, i5.

    Je pensais faire une boucle for mais je ne vois pas comment je peux faire pour les appeler i1, i2, i3.. Je n'arrive pas à incrémenter les indices ?
    Avez-vous des idées ? stp

    Merci beaucoup,

    Tom

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Bonjour !

    Utiliser les variables tableaux en VBA Excel



    _____________________________________________________________________________________________________
    Je suis Charlie, Bardo, Sousse

  3. #3
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Par défaut
    Merci pour ton retour !
    Il n'y a pas d'autre solution pour créer des variables telles que je souhaiterais ?
    Passer par un tableau ne me simplifie pas le code pour après. Ca ne m'arrange pas spécialement.
    C'est pas possible autrement ? svp

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    dis nous plutôt ce que tu veux faire ... utiliser des variables avec un nom qui change est un sujet qui passionne les débutants mais dont l'utilité n'est jamais vérifiée..

  5. #5
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par thomas93 Voir le message
    ... Passer par un tableau ne me simplifie pas le code pour après. Ca ne m'arrange pas spécialement. ...
    Et pourquoi cela ne te simplifie pas le code ? Et pourquoi cela ne t'arrange pas ?

    Les variables de type tableau sont un don du ciel pour la programmation.

    depuis que je les utilise mon code s'est trouvé plus simple plus clair plus facile à maintenir

    Donc vraiment je voudrais savoir pourquoi cela ne te va pas !

    A bientôt

  6. #6
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Par défaut
    Mon problème est complexe. Voici le 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     i1 = -1
            i2 = -1
            i3 = -1
            i4 = -1
            i5 = -1
     
            valable = False
            k1 = 0
            While k1 < (indicelargeur - 1) And valable = False
                a1 = tablarg(k1)
                k2 = 0
                While k2 <= (indicelargeur - 1) And valable = False
                    a2 = tablarg(k2)
                    k3 = 0
                    While k3 <= (indicelargeur - 1) And valable = False
                        a3 = tablarg(k3)
                        k4 = 0
                        While k4 <= (indicelargeur - 1) And valable = False
                            a4 = tablarg(k4)
                            k5 = 0
                            While k5 <= (indicelargeur - 1) And valable = False
                                a5 = tablarg(k5)
                                If largeur >= a1 + a2 + a3 + a4 + a5 - 2 * retraitlarg And largeur <= a1 + a2 + a3 + a4 + a5 + 2 * debordlarg Then
                                    i1 = k1
                                    i2 = k2
                                    i3 = k3
                                    i4 = k4
                                    i5 = k5
                                    valable = True
                                End If
                                k5 = k5 + 1
                            End While
                            k4 = k4 + 1
                        End While
                        k3 = k3 + 1
                    End While
                    k2 = k2 + 1
                End While
                k1 = k1 + 1
            End While
    Le problème aujourd'hui est que le nombre de k1, k2, k3, k4 n'est pas toujours égal à 5, il est en réalité en fonction de indicelargeur.
    Je ne vois pas comment modifier mon code afin de garder la même fonctionnalité mais en adaptant le nombre de k en fonction de l'indicelargeur.
    Comprenez-vous ?

    Merci d'avance,

    Tom

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

    C'est du Visual Basic le code ? Parce que End While n'est pas pris en charge par VBA/VB6.

Discussions similaires

  1. [XL-2010] Boucle For limite haute variable
    Par YanBos dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/04/2014, 17h17
  2. Boucle for sur une variable sans prendre en compte les espaces
    Par laurentze dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 23/03/2012, 11h15
  3. [XSLT] PB: Boucle (for-each) et variable
    Par luchoo dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 08/11/2010, 13h58
  4. Réponses: 2
    Dernier message: 14/04/2010, 18h39
  5. Boucle for avec 2 variables
    Par radzar dans le forum PL/SQL
    Réponses: 8
    Dernier message: 15/05/2009, 12h07

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