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 :

Rendre un array dynamique


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Régisseur lumière et intégrateur led
    Inscrit en
    Janvier 2020
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Régisseur lumière et intégrateur led
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2020
    Messages : 261
    Par défaut Rendre un array dynamique
    Bonjour la communauté.

    Dans une procédure j'utilise : Array(2, 2, 0, 0, 0)

    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
    '------------------------------------------------------
    '---------------------- MANCHE 1 ----------------------
    '------------------------------------------------------
            Case 1
                countTheme(1) = countTheme(1) + 1
                If countTheme(1) <= NbChoixTheme(1) Then
                    Separateurs = Array(2, 2, 0, 0, 0) ' Définit le nombre de vbLf après chaque info
                    valeurConcatenee = RecupererValeursListesDeDonnees(1, Separateurs)
                        With WS_ExportMaxiQuizz.Cells(cellTheme(1), 1)
                            '.Value = "Manche 1" & vbLf & valeurConcatenee & vbLf & "Thème : " & WS_Choix.Cells(i, 14)
                            .Value = valeurConcatenee & "Thème : " & WS_Choix.Cells(i, 14)
                            .WrapText = False
                        End With
                    NomTheme(1) = WS_Choix.Cells(i, 14).Value
                End If
     
    '------------------------------------------------------
    '---------------------- MANCHE 2 ----------------------
    '------------------------------------------------------
           Case 2
                countTheme(2) = countTheme(2) + 1
                If countTheme(2) <= NbChoixTheme(2) Then
                    Separateurs = Array(2, 2, 0, 0, 0) ' Définit le nombre de vbLf après chaque info
                    valeurConcatenee = RecupererValeursListesDeDonnees(2, Separateurs)
                        With WS_ExportMaxiQuizz.Cells(cellTheme(2), 1)
                            '.Value = "Manche 1" & vbLf & "2/3" & vbLf & valeurConcatenee & vbLf & "Thème : " & WS_Choix.Cells(i, 14)
                            .Value = valeurConcatenee & "Thème : " & WS_Choix.Cells(i, 14)
                            .WrapText = False
                        End With
                    NomTheme(2) = WS_Choix.Cells(i, 14).Value
                End If
    Cet array, me sert a mettre des sauts de lignes entre chaque infos.

    Exemple Case 1 pour le thème 1 : Array(2, 2, 0, 0, 0)

    Infos + 2 saut de lignes, infos 2 + 2 sauts de ligne , infos 3 pas de saut, infos 4 pas de saut, infos 5 pas de saut.

    Comme cela va être amené a changé (Mon collègue change d'avis suivant ces quizz), je pensais passer par des cellules (1 par case) case représente le numéro de thème

    Cette infos est dans un Tableau structuré "DonneesTheme" colonne 12 "Nb de saut" et le numéro de thème est dans la colonne 3 "N° de thème".

    Les cellules pour les Nb de saut, sont renseignées a l'aide d'un autre UserForm avec un textBox "Txt_NbSaut", comme ceci :

    .Cells(1, Tbl_DonneesTheme.ListColumns("Nb de saut").index).Value = Txt_NbSaut.Value

    Est-ce possible de faire cela?


    J'espère avoir était le plus explicite possible et dans le cas contraire n'hésitez pas a me le dire.

    Je vous remercie par avance.

    Bonne nuité, LeLighteux26

  2. #2
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 147
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Je suppose que la question est : comment remplacer mon Array Separateurs par un tableau renseigné par des données du tableau structuré DonneesTheme ?

    Si c'est bien ça, avoir un aperçu du tableau structuré DonneesThemes nous aiderait à proposer un code qui lirait des données dedans

  3. #3
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 159

  4. #4
    Membre confirmé
    Homme Profil pro
    Régisseur lumière et intégrateur led
    Inscrit en
    Janvier 2020
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Régisseur lumière et intégrateur led
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2020
    Messages : 261
    Par défaut


    N'ayant pas eu de réponse, je tente ici, on ne sais jamais.

    Merci, Bonne journée.

  5. #5
    Membre confirmé
    Homme Profil pro
    Régisseur lumière et intégrateur led
    Inscrit en
    Janvier 2020
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Régisseur lumière et intégrateur led
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2020
    Messages : 261
    Par défaut
    Citation Envoyé par tototiti2008 Voir le message
    Bonjour,

    Je suppose que la question est : comment remplacer mon Array Separateurs par un tableau renseigné par des données du tableau structuré DonneesTheme ?

    Si c'est bien ça, avoir un aperçu du tableau structuré DonneesThemes nous aiderait à proposer un code qui lirait des données dedans
    Bonjour

    Merci pour la réponse.

    Oui, a la base c'était cela, mais je pense changer de fusille d'épaule, pour que mon ami le remplissage soit plus simple, je vais passer par 1 colonne pour l'infos et la colonne d'aprés le nombre de saut.

    Comme cela dans l'userform, il aura une liste déroulante pour modifier cela de 1 a 10.

    Nom : Capture.PNG
Affichages : 76
Taille : 19,8 Ko


    Pour la structure de mon tableau structuré :

    Nom : Capture.PNG
Affichages : 74
Taille : 32,6 Ko

    Et le résulta (Suivant le nombre que l'on renseigne dans la cellule du tableau structuré)

    Ici, il y aura de renseigné

    Infos1 = Manche 1
    NbSautInf1 = 2

    Infos2 = 1/3
    NbSautInf2 = 2

    Les autres infos = ""
    Les autres NbSautInf = 0

    Le resultat :

    Nom : Capture.PNG
Affichages : 70
Taille : 8,6 Ko

    Merci

    Bonne fin de journée.

    Lelighteux26

  6. #6
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 159
    Par défaut
    Citation Envoyé par Lighteux26 Voir le message
    N'ayant pas eu de réponse, je tente ici, on ne sais jamais.
    L'énoncé disait
    Le but est de cela est de mettre des saut de ligne paramétrable (Num Colonne et Nb saut) dans chaque cellule

    Si "1, 2, 2, 3, 2"

    Infos 1 & VbLf " Infos 2 & VbLf & VblF & Infos 3 & VbLf & VbLf & Infos 4 & VbLf & VblF & VbLf & infos 5
    J'ai compris qu'il fallait mettre N VbLf entre "Infos 1" et Infos 2" etc etc
    j'ai donc proposé d'utilise la fonction Rept pour mettre de 0 à X VbLf entre les textes, donc de répéter N fois le VbLf, mais il semblerait que ça ne soit pas ça ou que vous n'ayez pas compris ma proposition.
    Il reste à récupérer les nombre de sauts de lignes dans les cellules au lieu d'utiliser l'array en dur dans le code VBA.

  7. #7
    Membre confirmé
    Homme Profil pro
    Régisseur lumière et intégrateur led
    Inscrit en
    Janvier 2020
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Régisseur lumière et intégrateur led
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2020
    Messages : 261
    Par défaut
    Citation Envoyé par Nain porte koi Voir le message
    L'énoncé disait
    J'ai compris qu'il fallait mettre N VbLf entre "Infos 1" et Infos 2" etc etc
    j'ai donc proposé d'utilise la fonction Rept pour mettre de 0 à X VbLf entre les textes, donc de répéter N fois le VbLf, mais il semblerait que ça ne soit pas ça ou que vous n'ayez pas compris ma proposition.
    Il reste à récupérer les nombre de sauts de lignes dans les cellules au lieu d'utiliser l'array en dur dans le code VBA.
    Oui c'était cela.

    Tout se que j'ai pu tenter, ne fonctionnait pas au remplacement de ce qu'il y a entre parenthèse, soit des problèmes de incompatibilités, des interprétation des espaces, de format etc...

    J'ai poussé même de pousser le vice a demander a CharGPT, lol

    Et en discutant avec mon ami, qui me disait que de remplire, avec des chiffres un contrôle, il avait peur de se gourrer souvent, aux paramétrage, d'où le choix de passer sur cette nouvelle solution.

    1 colonne infos et 1 colonne Saut de ligne, et l'userform avec liste déroulante.

    L'idée lui a plus, car c'était visuel.

    Voili, voila.

    Merci pour votre réponse.

    Bonne soirée, Le Lighteux

Discussions similaires

  1. rendre un if dynamique, cas d'école, venez voir
    Par yoda_style dans le forum ASP
    Réponses: 4
    Dernier message: 26/03/2007, 11h55
  2. Réponses: 7
    Dernier message: 10/01/2007, 00h37
  3. [Tableaux] Problème d'array dynamique
    Par Peacecraft95 dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2006, 15h24
  4. [Tableaux] Array dynamique
    Par Yjo dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2006, 11h31
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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