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 :

Reconstruction d'une variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Août 2022
    Messages : 3
    Par défaut Reconstruction d'une variable
    Bonjour

    Après de nombreuses heures à faire des recherches sur les forums et moult essaie infructueux je Viens vous demander votre aide

    j'essaie de reconstruire une variable dans une boucle For
    je vous mais un bout de programme je pense que cela sera plus parlant

    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
     
        For i = 1 To 10
            If Controls("CheckBox" & i) = True Then
                LigneRecherche = "LigneRecherche" & i
                LigneRecherche = Controls(LigneRecherche)
                CelluleNCalcul = "F" & LigneRecherche
                RecherchePatient.TextBoxNCalcul.Value = Sheets(1).Range(CelluleNCalcul).Value
                RecherchePatient.TextBoxNom.Value = Sheets(1).Range("G" & LigneRecherche).Value
                RecherchePatient.TextBoxPrenom.Value = Sheets(1).Range("H" & LigneRecherche).Value
                RecherchePatient.TextBoxDateDeNaissance.Value = Sheets(1).Range("I" & LigneRecherche).Value
                RecherchePatient.LabelLigne.Visible = True
                RecherchePatient.LabelLigne.Caption = "Ligne " & LigneRecherche
                RecherchePatient.CommandButtonImprimer.Visible = True
                ActiveWorkbook.Close 'Fermeture dee l'excel
                Me.Hide
                RecherchePatient.Show
            Else
            End If
        Next i
    Je vous remercie par avance

  2. #2
    Membre chevronné Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 346
    Par défaut
    qu'est ce qui ne marche pas? que veux tu faire exactement ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Août 2022
    Messages : 3
    Par défaut
    Se qui ne fonctionne pas c'est ma variable LigneRecherche
    a la place d'avoir la valeur de la variable j'obtient "LigneRecherche"
    j'ai même essayer avec la fonction decaler pour supprimer les guillemets mais en vain

  4. #4
    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
    Bonjour,

    Quand on débogue il est très utile de multiplier les variables et de passer en mode pas à pas. Avec [Ctrl] + [F9] tu peux voir le contenu de tes variables au fur et à mesure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        For i = 1 To 10
            If Controls("CheckBox" & i) = True Then
                LigneRecherche = "LigneRecherche" & i
                LigneRecherche = Controls(LigneRecherche)
                CelluleNCalcul = "F" & LigneRecherche
            ...
            Else
            End If
        Next i
    Si je lis ce que tu as écrit :
    Quand i=1 (cela évoluera jusqu'à 10)
    Tu mets dans LigneRecherche le texte "LigneRecherche1" ensuite
    Tu mets dans LigneRecherche la valeur du control ("LigneRecherche1") ensuite
    Tu mets dans la variable "CelluleNCalcul"... "F" et valeur du control ("LigneRecherche1")

    Bon je ne sais pas ce que tu cherches à avoir comme valeur (ce serait bien que tu l'indiques), ni si tu as un control qui s'appelle : LigneRecherche1, LigneRecherche2, LigneRecherche3 ... LigneRecherche10, j'espère que oui et que nous diras ce que c'est comme contrôle


    Je suppose que ta variable LigneRecherche est déclarée, tu nous dis comme quoi

  5. #5
    Candidat au Club
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Août 2022
    Messages : 3
    Par défaut
    excusez-moi si je n'ai mis assez de précision

    j'ai une base de donné avec différents noms

    je fais une recherche et je mets les lignes où c'est nom on était trouvé dans des variables déclarées en string

    exemple :
    - le premier nom "MARTIN" se trouve a la ligne 10 je mets la valeur dans Ligne Recherche1
    - le deuxième nom "MARTIN" se trouve à la ligne 20 je mets la valeur dans Ligne Recherche2
    Etc.

    ensuite je les affiche dans un userform et je coche le checkbox correspondant a la personne que je recherche

    puis dans la vien ma programmation en for qui ne fonctionne pas
    pour afficher diverses valeurs correspondant à la personne sélectionner

    j’espère être clair dans mes explication

  6. #6
    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
    Oui c'est plus clair mais encore des questions

    Je reformule pour voir si j'ai bien compris

    Il y a une Base données dans laquelle dans une colonne (quelque part : il me faudrait le nom de la colonne (A, B, C ...)) on a les noms des personnes.

    Je suppose que tu saisis dans un userform ou un InputBOX le nom

    Et tu veux faire apparaître tous les noms et les prénoms que tu auras trouvé dans ta base avec la possibilité de sélectionner le bon Nom

    Dis-moi si j'ai bien tout pigé ou pas




    Mes questions :

    1°) ta base de données comporte combien de personnes et elle est présente dans quelle feuille (nom de la feuille)

    2°) Peux-tu montrer (capture écran) la structure de ta Base de données, sans les informations juste la structure

    3°) Ta Base de données Est-elle sous forme de tableau structuré

    4°) Est-ce un problème d'ajouter une colonne à ta base de données (à la fin)

    5°) J'avoue que même en faisant des efforts je ne comprends pas cette phrase
    Citation Envoyé par Leromu76 Voir le message
    puis dans la vien ma programmation en for qui ne fonctionne pas
    En attendant ton retour

  7. #7
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 509
    Par défaut
    Citation Envoyé par Leromu76 Voir le message
    excusez-moi si je n'ai mis assez de précision

    j'ai une base de donné avec différents noms

    je fais une recherche et je mets les lignes où c'est nom on était trouvé dans des variables déclarées en string

    exemple :
    - le premier nom "MARTIN" se trouve a la ligne 10 je mets la valeur dans Ligne Recherche1
    - le deuxième nom "MARTIN" se trouve à la ligne 20 je mets la valeur dans Ligne Recherche2
    Etc.

    ensuite je les affiche dans un userform et je coche le checkbox correspondant a la personne que je recherche

    puis dans la vien ma programmation en for qui ne fonctionne pas
    pour afficher diverses valeurs correspondant à la personne sélectionner

    j’espère être clair dans mes explication
    Pour faire cela utilise plutôt une variable tableau
    Donc cela donne :
    exemple :
    - le premier nom "MARTIN" se trouve a la ligne 10 je mets la valeur dans tabRecherche(1)
    - le deuxième nom "MARTIN" se trouve à la ligne 20 je mets la valeur dans tabRecherche(2)
    Etc.

  8. #8
    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
    Bonjour,

    En réflechissant à ton problème :
    Citation Envoyé par Leromu76 Voir le message
    exemple :
    - le premier nom "MARTIN" se trouve à la ligne 10 je mets la valeur dans Ligne Recherche1
    - le deuxième nom "MARTIN" se trouve à la ligne 20 je mets la valeur dans Ligne Recherche2
    Etc.

    ensuite je les affiche dans un userform et je coche le checkbox correspondant à la personne que je recherche
    Je me suis dit que ton problème se résout par l'emploi d'une ListBox !

    Nom : Capt ListBox.jpg
Affichages : 151
Taille : 140,5 Ko

    Il te faudra, pour avoir un affichage comme montré ci-dessus, modifier les 2 paramètres entouré en rouge. Ensuite tu coches une ou deux ou plus personnes voulues




    Bien évidemment dans ton cas tu chargeras la Listbox par additem dans une simple boucle for

    Tu me dis si cela te convient ou pas.

    A bientôt

Discussions similaires

  1. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  2. [BES] Création d'une variable d'environnement
    Par NGI80 dans le forum Autres
    Réponses: 2
    Dernier message: 17/10/2002, 07h31
  3. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25
  4. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21
  5. Réponses: 4
    Dernier message: 05/06/2002, 14h35

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