VBA - Structure en boucle
Cat&Dom
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
Cat&Dom -
Cat&Dom -
Bonjour,
Je travaille sur excel 2000
Je débute en VBA, j'ai fait une formation de 3 jours, mais j'ai beaucoup de mal à trouver la bonne piste.
Voilà, j'ai créé :
- Une fiche
- Un tableau à double entrée :
En-tête de colonne : produits
En-tête de lignes : salariés
A partir de ce tableau, je voudrais générer une fiche par salarié sur laquelle serait recencé tous les produits que le salarié utilise. Ma fiche contient des formules qui vont chercher les caractéristiques des produits (code produit, Phrase de risque, date de début d'utilisation....) et les coordonnées du salarié (prénom, date de d'entrée, poste occupé....)
Je pense qu'il faut que je dois faire appel à une structure en boucle, mais laquelle ?
Je suis dans le flou le plus complet.
Merci d'avance à tous ceux et celles qui tenteront de m'aider.
Catherine
Je travaille sur excel 2000
Je débute en VBA, j'ai fait une formation de 3 jours, mais j'ai beaucoup de mal à trouver la bonne piste.
Voilà, j'ai créé :
- Une fiche
- Un tableau à double entrée :
En-tête de colonne : produits
En-tête de lignes : salariés
A partir de ce tableau, je voudrais générer une fiche par salarié sur laquelle serait recencé tous les produits que le salarié utilise. Ma fiche contient des formules qui vont chercher les caractéristiques des produits (code produit, Phrase de risque, date de début d'utilisation....) et les coordonnées du salarié (prénom, date de d'entrée, poste occupé....)
Je pense qu'il faut que je dois faire appel à une structure en boucle, mais laquelle ?
Je suis dans le flou le plus complet.
Merci d'avance à tous ceux et celles qui tenteront de m'aider.
Catherine
A voir également:
- VBA - Structure en boucle
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Structure d'un rapport de stage - Guide
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Excel compter cellule couleur sans vba - Guide
5 réponses
Bonjour,
Est ce que ton fichier à cette structure ?
Est ce que ton fichier à cette structure ?
| Produit | Produit | Produit | |----------|----------|----------| Salarié | Tutu | Tata | Toto | |----------|----------|----------| |Prod11 | Prod21 | Prod31 | |----------|----------|----------| |Prod11 | Prod21 | Prod31 | |----------|----------|----------| |Prod11 | Prod21 | Prod31 | |----------|----------|----------|
Bonsoir,
Ce n'est pas tout à fait ça. J'ai fait des copies d'écran que j'ai enregistrer dans photoshop adobe en format jpeg mais je n'arrive pas à les envoyer par le biais d'HIBOOX. Je pense que ce serait plus explicite.
As-tu un autre site par lequel je pourrais passer ?
D'avance merci.
Catherine
Ce n'est pas tout à fait ça. J'ai fait des copies d'écran que j'ai enregistrer dans photoshop adobe en format jpeg mais je n'arrive pas à les envoyer par le biais d'HIBOOX. Je pense que ce serait plus explicite.
As-tu un autre site par lequel je pourrais passer ?
D'avance merci.
Catherine
Bonsoir,
[url=https://www.hiboox.com][img]http://images2.hiboox.com/vignettes/3907/q0nid2wv.jpg[/img][/url]
[url=https://www.hiboox.com][img]http://images2.hiboox.com/vignettes/3907/efymxzkp.jpg[/img][/url]
Voilà, apparemment, j'ai réussi à mettre mes copies d'écran, j'espère que ce sera suffisamment claire.
Voilà, je voudrai créer un code qui sélectionne le premier salarié de la colonne A du tableau, ensuite se déplace horizontalement et chaque fois qu'il trouve un "X", sélectionne l'entête de colonne et vient la copier dans la première ligne de la fiche "salarié". Ensuite, créé une nouvelle ligne chaque fois qu'il retrouve une croix sur la ligne du salarié concerné jusqu'a ce que tous les produits soient recensé sur la fiche individuelle.
Une fois la fiche du premier salarié renseignée, il créé une nouvelle feuille pour le suivant, etc...
J'espère que quelqu'un pourra m'aider.
Merci d'avance
Cordialement. Catherine
[url=https://www.hiboox.com][img]http://images2.hiboox.com/vignettes/3907/q0nid2wv.jpg[/img][/url]
[url=https://www.hiboox.com][img]http://images2.hiboox.com/vignettes/3907/efymxzkp.jpg[/img][/url]
Voilà, apparemment, j'ai réussi à mettre mes copies d'écran, j'espère que ce sera suffisamment claire.
Voilà, je voudrai créer un code qui sélectionne le premier salarié de la colonne A du tableau, ensuite se déplace horizontalement et chaque fois qu'il trouve un "X", sélectionne l'entête de colonne et vient la copier dans la première ligne de la fiche "salarié". Ensuite, créé une nouvelle ligne chaque fois qu'il retrouve une croix sur la ligne du salarié concerné jusqu'a ce que tous les produits soient recensé sur la fiche individuelle.
Une fois la fiche du premier salarié renseignée, il créé une nouvelle feuille pour le suivant, etc...
J'espère que quelqu'un pourra m'aider.
Merci d'avance
Cordialement. Catherine
Bonjour,
J'ai réfléchi, je vais un peu simplifier la tâche, je vais dans un premier temps générer une seule fiche à la fois.
Ce qui me permettra d'avoir recours à une seule boucle et je pense que ce sera suffisant.J'ai donc commencé par une Inputbox pour saisir le nom du salarié.
Par contre, quelle instruction:
WHILE...WEND
DO...LOOP
FOR....NEXT
FOR EACH.....NEXT
Mes 3 jours de formation date du mois de juin et je n'ai pas eu le temps de travailler dessus (déménagement, orientation des enfants....) ça va être difficile de reprendre. Je suis complètement perdue.
Si tu peux me mettre sur la bonne piste, ce sera un gain de temps car il y a du boulot.
Merci d'avance
Catherine
J'ai réfléchi, je vais un peu simplifier la tâche, je vais dans un premier temps générer une seule fiche à la fois.
Ce qui me permettra d'avoir recours à une seule boucle et je pense que ce sera suffisant.J'ai donc commencé par une Inputbox pour saisir le nom du salarié.
Par contre, quelle instruction:
WHILE...WEND
DO...LOOP
FOR....NEXT
FOR EACH.....NEXT
Mes 3 jours de formation date du mois de juin et je n'ai pas eu le temps de travailler dessus (déménagement, orientation des enfants....) ça va être difficile de reprendre. Je suis complètement perdue.
Si tu peux me mettre sur la bonne piste, ce sera un gain de temps car il y a du boulot.
Merci d'avance
Catherine
Bonjour,
Dans ton cas tu peux utiliser la boucle do while :
Cela te convient il ?
Dans ton cas tu peux utiliser la boucle do while :
Do While ValeurCelluleSalarié <> "" '1ère boucle pour lire les salariés : la boucle s'arrete lorsque la celulle est vide 'Créer la fiche pour le salarié trouvé Do While ValeurCelluleEnteteProduit <> "" '2ème boucle pour lire les produits : la boucle s'arrete lorsque la celulle est vide ' la condition est faite sur l'entête de colonne car ttes les colonnes sont remplies 'ce qui n'est pas le cas pour les cellules marquant la présence ou non d'un produit 'incrementer un indice pour aller sur la colonne suivante if ValeurCelluleProduit = "X" Then 'Recupérer l'intitulé 'Créer une ligne dans la fiche avec valeur de l'intitulé produit End If Loop 'incrementer un indice pour aller sur la ligne suivante Loop
Cela te convient il ?
Bonjour,
J'ai mis un fichier excel en ligne :
http://www.cijoint.fr/cij117041863626750.xls
Il contient une macro que tu pourras faire tourner en mode debug. Le Classeur est proche de tes conditions. Tu n'auras qu'à modifier la macro pour que cela corresponde à tes besoins.
En espérant avoir répondu à tes attentes.
@+
J'ai mis un fichier excel en ligne :
http://www.cijoint.fr/cij117041863626750.xls
Il contient une macro que tu pourras faire tourner en mode debug. Le Classeur est proche de tes conditions. Tu n'auras qu'à modifier la macro pour que cela corresponde à tes besoins.
En espérant avoir répondu à tes attentes.
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Je viens de rentrer et je suis très agréablement surprise par ce que tu m'as envoyé. C'est super, je vais détailler tout ça et essayer de l'adapter exactement à ce que je souhaite, à savoir deux solutions :
1 - Je lance une seule fiche par le biais d'une inputbox lorsque qu'un nouveau salarié arrive ou qu'un salarié quitte la société
2 - Je lance automatiquement la totalité des fiches sans renseignement par le biais de MsgBox car j'ai environ 60 fiches à lancer chaque fois qu'un produit est supprimé ou ajouté.
Un grand merci et peut-être à bientôt car il serait fort étonnant que je m'en sortes complètement seule, je vais probablement encore faire appel aux connaissances de personnes comme toi. Je retourne bosser.
Cordialement Catherine
Je viens de rentrer et je suis très agréablement surprise par ce que tu m'as envoyé. C'est super, je vais détailler tout ça et essayer de l'adapter exactement à ce que je souhaite, à savoir deux solutions :
1 - Je lance une seule fiche par le biais d'une inputbox lorsque qu'un nouveau salarié arrive ou qu'un salarié quitte la société
2 - Je lance automatiquement la totalité des fiches sans renseignement par le biais de MsgBox car j'ai environ 60 fiches à lancer chaque fois qu'un produit est supprimé ou ajouté.
Un grand merci et peut-être à bientôt car il serait fort étonnant que je m'en sortes complètement seule, je vais probablement encore faire appel aux connaissances de personnes comme toi. Je retourne bosser.
Cordialement Catherine