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 :

Balayer plusieurs variables avec une boucle for


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2016
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 96
    Points : 16
    Points
    16
    Par défaut Balayer plusieurs variables avec une boucle for
    bonjour à tous,
    je viens vers vous pour un problème tous con je pense alors voila
    j'ai dans ma macro plusieurs variable SP_01, SP_02 ..... SP_200 et des OPT_01, OPT_02 ect ect

    j'aimerai dans une boucle parcourir toutes ces variables
    j'ai codé ceci pour l'instant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    max = 200
    i = 0
    SP_01 = 1
    j = SP_01
    SP_11 = 12
    SP_12 = 13
     
    for i = 0 to Max step -1
    j = j + "1"
    next
    le soucis c'est que j prendra la valeur SP_011 du coup je sais pas trop comment faire pour incrémenter le nombre 01 pour avoir SP_02 et non pas SP_011
    merci à vous pour votre aide

  2. #2
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Heu ça serais pas plus simple avec un tableau ????
    Par pitié !!!! :Si vous ne savez pas faire cliquez ici !
    Citation Envoyé par Marc-L
    C'est dommage que parfois tu sois aussi lourd que tu as l'air intelligent…

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2016
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 96
    Points : 16
    Points
    16
    Par défaut
    peut etre mais je saurais pas comment faire
    le truc c'est que mes variables sont déjà créer et j'ai pas le droit de les modifier je dois juste lire les informations

  4. #4
    Membre actif
    Homme Profil pro
    développeur
    Inscrit en
    Février 2013
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : développeur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 123
    Points : 256
    Points
    256
    Par défaut
    Bonjour,

    Il suffit de stocker les valeurs des différentes variables dans un tableau.

    Bonne journée
    #Hashtag

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2016
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 96
    Points : 16
    Points
    16
    Par défaut
    comment faire pour les stoker ?? je ne sais pas utiliser les tableaux :/
    merci pour vos réponses

  6. #6
    Membre actif
    Homme Profil pro
    développeur
    Inscrit en
    Février 2013
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : développeur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 123
    Points : 256
    Points
    256
    Par défaut
    Tout d'abord tu déclares le tableau

    Si c'est un tableau de 10 chaines de caractères que tu veux nommer "tab" :
    (9 car par défaut un tableau commence à l'index 0)

    Ensuite, il suffit de remplir le tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tab(0) = SP_01
    tab(1) = SP_02
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tab(8) = OPT_01
    tab(9) = OPT_02
    #Hashtag

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2016
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 96
    Points : 16
    Points
    16
    Par défaut
    merci et il y a pas un moyen pour placer toutes les valeurs directement dans le tableau sans taper à la main ?? parce que en tous j'ai 325 variable à mettre dedans

  8. #8
    Membre actif
    Homme Profil pro
    développeur
    Inscrit en
    Février 2013
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : développeur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 123
    Points : 256
    Points
    256
    Par défaut
    325 variables? oO'
    Si les valeurs des variables ont un lien entre elles (par exemple, si pour parcourir les valeurs des variables il suffit d'ajouter 2 à chaque fois ou de multiplier par deux, c'est possible, sinon je ne vois pas trop comment faire, c'est d'ailleurs le problème que tu as posé dans ton premier message.
    #Hashtag

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 755
    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 : 12 755
    Points : 28 606
    Points
    28 606
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    comment faire pour les stoker ?? je ne sais pas utiliser les tableaux :/
    merci pour vos réponses
    Je te conseille la lecture de ce tutoriel Utiliser les variables tableaux en VBA Excel
    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

  10. #10
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 72
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par MacKay77 Voir le message
    325 variables? oO'
    Si les valeurs des variables ont un lien entre elles (par exemple, si pour parcourir les valeurs des variables il suffit d'ajouter 2 à chaque fois ou de multiplier par deux, c'est possible, sinon je ne vois pas trop comment faire, c'est d'ailleurs le problème que tu as posé dans ton premier message.
    Explication synthétique mais très explicite.

    Pour vous répondre à vous deux, s'il existe ces 325 variables c'est quelles ont l'ont fait manuellement, donc il devra en faire surement autant.

    Un petit manque au VBA d'ailleurs, je sais que dans un UserForm on peut dans le code parcourir différentes combobox nommé combo1, combo2 etc. Mais il n'est pas possible de le faire autre part (enfin c'est ce que l'ont m'avait répondu sur ce forum)

  11. #11
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2016
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 96
    Points : 16
    Points
    16
    Par défaut
    alors les seules choses que les variables ont en commun c'est leur nom SP_01 SP_02 SP_03 ect ect
    merci en tous cas pour vos réponses

  12. #12
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 660
    Points : 5 783
    Points
    5 783
    Par défaut
    Bonjour,

    Pour éviter de déclarer à la main tes 325 variables tu peux t'aider d'une boucle pour écrire a ta place.
    Par exemple pour les variables SP_01 à SP_09 et OPT_01 à OPT_09
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub laflemmedetoutecrire()
    For i = 1 To 9
    Cells(i, 1) = "tab(" & i & ")= SP_0" & i
    Next i
    For i = 1 To 9
    Cells(i + 9, 1) = "tab(" & i + 9 & ")= OPT_0" & i '+9 a cause des 9 valeurs précédentes
    Next i
    End Sub
    Qui donne:
    Nom : exemple.png
Affichages : 872
Taille : 9,0 Ko
    Ensuite tu recopie dans ton code toutes les déclarations ainsi obtenues
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2016
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 96
    Points : 16
    Points
    16
    Par défaut
    merci à vous tous

  14. #14
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 72
    Points : 149
    Points
    149
    Par défaut
    tu peux même remplacer les
    par
    DeathZarakai

  15. #15
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    étant donné qu'on ne peut pas manipuler une variable comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 to 10
        OPT_ & i = i
    Next i
    tu peux éventuellement passer par une variable tableau, en option Base 1, comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Base 1
    Sub Toto()
    Dim OPT()
    Dim i as Integer
    dim Max as Integer
    Max = 200
    Redim OPT(max)
     
    For i = 1 to max
        OPT(i) = i
        Debug.Print OPT(i)  ' là tu peux facilement jouer sur les indices de tes variables
    Next i
    ainsi, tu as un tableau par type de variable (OPT_ , SP_) et tu peux très facilement naviguer dedans

    il est même possible de regrouper ensuite tes tableaux, dans un seul tableau ! Et ainsi pouvoir parcourir chaque groupe de variables à ta convenance

    et à noter qu'avec une collection, c'est aussi possible

  16. #16
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2016
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 96
    Points : 16
    Points
    16
    Par défaut
    merci beaucoup solution vraiment géniale
    le problème est résolu même si maintenant d'autre viennent en masse XD

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/05/2013, 22h40
  2. ActionScript 2 Manipuler plusieurs clips créés avec une boucle for
    Par adinx dans le forum ActionScript 1 & ActionScript 2
    Réponses: 7
    Dernier message: 09/04/2008, 15h01
  3. [MySQL] Traitement des variables d'une boucle for
    Par liryc78 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 06/03/2006, 20h53
  4. : remplir des zones de texte avec une boucle For
    Par Haro_GSD dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2005, 21h23
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

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