EXCEL VBA code et REQUETE
wallyfm02
Messages postés
55
Date d'inscription
Statut
Membre
Dernière intervention
-
wallyfm02 Messages postés 55 Date d'inscription Statut Membre Dernière intervention -
wallyfm02 Messages postés 55 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis totalement debutant au niveau de VBA.
Pour être plus concret je ais expliquer en détails.
Voila je suis dans une entreprise de transport.
Je souhaite créer un fichier partenaire sous excel. Ce fichier se remplit au fur et à mesure. Pour cà, j'ai créer un "formulaire" (excusez moi ce n'est peut être pas le bon terme). Quand on rentrer un nouveau partenaire, on remplit ce formulaire ensuite OK et toutes les infos vont se mettre dans la feuille "partenaire" dans la bonne colonne.
Jusqu'ici tout va bien!
lá où ca se corse, c'est quand je dois renseigner les départements que le partenaire peut livrer. J'ai essayer boutons dóptions en vain et je tente avec les cases à cocher mais je nárrive pas à trouver le code.
La feuille "partenaire" se presente ainsi
Nom ! Tel ! Contact ! VILLE !...! Ensuite une colonne pour chaque département
Ex: Nouveau partenaire qui peut livre dans le 24 et 47:
Je remplis le formulaire et coche ou selectionne le 24 et 47 pour que "OUI" s'affiche dans les colonnes de ces deux departements
Je n'arrive pas à coder celà.
Ensuite comment consulter le fichier?
Serait il plus simple de faire un filtre sur la feuille "partenaire" ou puis je faire une requête qui me permait d'afficher les partenaires cappables de livrer tel ou/et tel département?
Merci d'avance,
Cordialement
Je suis totalement debutant au niveau de VBA.
Pour être plus concret je ais expliquer en détails.
Voila je suis dans une entreprise de transport.
Je souhaite créer un fichier partenaire sous excel. Ce fichier se remplit au fur et à mesure. Pour cà, j'ai créer un "formulaire" (excusez moi ce n'est peut être pas le bon terme). Quand on rentrer un nouveau partenaire, on remplit ce formulaire ensuite OK et toutes les infos vont se mettre dans la feuille "partenaire" dans la bonne colonne.
Jusqu'ici tout va bien!
lá où ca se corse, c'est quand je dois renseigner les départements que le partenaire peut livrer. J'ai essayer boutons dóptions en vain et je tente avec les cases à cocher mais je nárrive pas à trouver le code.
La feuille "partenaire" se presente ainsi
Nom ! Tel ! Contact ! VILLE !...! Ensuite une colonne pour chaque département
Ex: Nouveau partenaire qui peut livre dans le 24 et 47:
Je remplis le formulaire et coche ou selectionne le 24 et 47 pour que "OUI" s'affiche dans les colonnes de ces deux departements
Je n'arrive pas à coder celà.
Ensuite comment consulter le fichier?
Serait il plus simple de faire un filtre sur la feuille "partenaire" ou puis je faire une requête qui me permait d'afficher les partenaires cappables de livrer tel ou/et tel département?
Merci d'avance,
Cordialement
A voir également:
- EXCEL VBA code et REQUETE
- Code ascii - Guide
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Code puk bloqué - Guide
11 réponses
Bonjour,
Pour vous aider, il nous faut voir votre fichier...
Pour cela, faites en une copie AU FORMAT 97-2003 .xls, sans données confidentielles et transmettez nous un lien, vers votre fichier, créé grâce à https://www.cjoint.com/ ou http://www.cijoint.fr/
Pour vous aider, il nous faut voir votre fichier...
Pour cela, faites en une copie AU FORMAT 97-2003 .xls, sans données confidentielles et transmettez nous un lien, vers votre fichier, créé grâce à https://www.cjoint.com/ ou http://www.cijoint.fr/
Bonjour,
je suis encore dans la premiere partie de la construction de mon fichier.
Je réussis à remplir ma base de donnée nikel.
Le hic que je rencontre, cést quqnd je coche la check box All france ( je voudrais que oui sáffiche dans chaque colone de departement
regarde le fichier ca sera surement plus clair
http://www.cijoint.fr/cjlink.php?file=cj201106/cijX6XTnUQ.xls
Merci d'avance
je suis encore dans la premiere partie de la construction de mon fichier.
Je réussis à remplir ma base de donnée nikel.
Le hic que je rencontre, cést quqnd je coche la check box All france ( je voudrais que oui sáffiche dans chaque colone de departement
regarde le fichier ca sera surement plus clair
http://www.cijoint.fr/cjlink.php?file=cj201106/cijX6XTnUQ.xls
Merci d'avance
Bonjour,
Hébé, y'a du boulot !!!
déjà avec all france tu peux simplifier pour tout mettre à "oui" ou "non"
le fait de mette with sSheets("File Partner").... End with t'évite de répéter Sheets("File Partner") à chaque ligne
si c'est pas all france, on marque "non" ce qui évitera de tout parcourir....
quant aux département, il faudrait passer par un module de classe puisque les actions sont similaires avec l'événement "change" de checkbox; quelqu'un du forum te fera ça (moi pas avant demain...)
Hébé, y'a du boulot !!!
déjà avec all france tu peux simplifier pour tout mettre à "oui" ou "non"
With Sheets("File Partner") '... code avant If CBallfr Then Etat = "OUI" Else Etat = "NON" End If .Range(Cells(ligne, 11), Cells(ligne, 107)) = Etat '..... suite du code End With
le fait de mette with sSheets("File Partner").... End with t'évite de répéter Sheets("File Partner") à chaque ligne
si c'est pas all france, on marque "non" ce qui évitera de tout parcourir....
quant aux département, il faudrait passer par un module de classe puisque les actions sont similaires avec l'événement "change" de checkbox; quelqu'un du forum te fera ça (moi pas avant demain...)
Salut michel, wallyfm,
Je n'ai pas pu ouvrir le fichier joint... Je vous laisse donc dans les mains expertes de michel.
Bonne journée à vous 2.
Je n'ai pas pu ouvrir le fichier joint... Je vous laisse donc dans les mains expertes de michel.
Bonne journée à vous 2.
Salut Pijaku
le fichier (ça mouline en ce moment sur cjoint et cojoint)
https://www.cjoint.com/?0FDkB7arT7g
J' attend la réaction de wallyfm pour oeuvrer...
le fichier (ça mouline en ce moment sur cjoint et cojoint)
https://www.cjoint.com/?0FDkB7arT7g
J' attend la réaction de wallyfm pour oeuvrer...
Bonjour à vous deux et merci de votre aide,
Débordé je réponds que maintenant, désolé.
Michel,
Avant que tu ne me répondes, j'avais trouvé un truc:
If CBallfr = true then
Sheets("File Partner").Cells(ligne, 11).Value = "OUI"
Cbdel01 = True
Cbdel02 = True
Cbdel03 = True
Cbdel04 = True
Cbdel05 = True
Cbdel06 = True
...
...
.....................Jusqu'a la derniere checkbox departement
Else
Sheets("File Partner").Cells(ligne, 11).Value = "NON"
end if
'je dis donc que si la checkbox ALLFRANCE, cela veut dire que la Checkbox pour chaque département est coché.
Ensuite, jái le code pour chaque département:
If cbdel01 = true then
Sheets("File Partner").Cells(ligne, 12).Value = "OUI"
else
Sheets("File Partner").Cells(ligne, 12).Value = "NON"
End If
...................
J'avoue que c'était fastidieux à écrire mais Ca marche...
Savez vous comment je peux organiser mon userform?
Quand je l'ouvre et que je le remplit, je voudrai lorsque je fais tabulation, positionner le curseur sur le TextBox du dessous et pas celui placer à Tataouine.
J'ai d'autres questions par la suite, notamment sur la création d'une requête, si je peux appeler ca comme ca.
Je veux pouvoir consulter la base de doonnées suivants certains critères.
Exemple: je veux voir apparaitre tous les partenaires pouvant livrer dans le département 29.
Je vous avoue que je pourrai agir avec un filtre sur la base mais je veux l'outil rapide d'utilisation.
Merci d'avance pour vos commentaires.
Débordé je réponds que maintenant, désolé.
Michel,
Avant que tu ne me répondes, j'avais trouvé un truc:
If CBallfr = true then
Sheets("File Partner").Cells(ligne, 11).Value = "OUI"
Cbdel01 = True
Cbdel02 = True
Cbdel03 = True
Cbdel04 = True
Cbdel05 = True
Cbdel06 = True
...
...
.....................Jusqu'a la derniere checkbox departement
Else
Sheets("File Partner").Cells(ligne, 11).Value = "NON"
end if
'je dis donc que si la checkbox ALLFRANCE, cela veut dire que la Checkbox pour chaque département est coché.
Ensuite, jái le code pour chaque département:
If cbdel01 = true then
Sheets("File Partner").Cells(ligne, 12).Value = "OUI"
else
Sheets("File Partner").Cells(ligne, 12).Value = "NON"
End If
...................
J'avoue que c'était fastidieux à écrire mais Ca marche...
Savez vous comment je peux organiser mon userform?
Quand je l'ouvre et que je le remplit, je voudrai lorsque je fais tabulation, positionner le curseur sur le TextBox du dessous et pas celui placer à Tataouine.
J'ai d'autres questions par la suite, notamment sur la création d'une requête, si je peux appeler ca comme ca.
Je veux pouvoir consulter la base de doonnées suivants certains critères.
Exemple: je veux voir apparaitre tous les partenaires pouvant livrer dans le département 29.
Je vous avoue que je pourrai agir avec un filtre sur la base mais je veux l'outil rapide d'utilisation.
Merci d'avance pour vos commentaires.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut tout le monde,
Bon, on va commencer par expliquer juste un petit détail qui peux s'avérer "irriitant". Lors d'une demande dans un forum, il est demandé au demandeur de respecter un certain formalisme dans ces questions. Même si je suis persuadé (on attendra sa confirmation) que wallyfm02 n'était pas directif dans sa demande, le fait de voir des "je veux" est limite... Il vaux toujours mieux utiliser des "je souhaiterais", ou des "je voudrais", moins offensant pour les helpers...
Si je reprends ta prose wallyfm, tu conviendra avec nous que ça en fait tout de même pas mal :
Je veux pouvoir consulter la base de doonnées suivants certains critères.
Exemple: je veux voir apparaitre tous les partenaires pouvant livrer dans le département 29.
Je vous avoue que je pourrai agir avec un filtre sur la base mais je veux l'outil rapide d'utilisation.
Bon et bien sur, il n'est pas pour nous ici question de faire le fichier à ta place, et encore moins le week end, mais bien entendu de t'aiguiller vers les bonnes solutions.
En gage de bonne foi, je t'en apporte déjà une :
et fastidieux et inutile... Une boucle t'apportant ton résultat en 5 lignes :
Bon, on va commencer par expliquer juste un petit détail qui peux s'avérer "irriitant". Lors d'une demande dans un forum, il est demandé au demandeur de respecter un certain formalisme dans ces questions. Même si je suis persuadé (on attendra sa confirmation) que wallyfm02 n'était pas directif dans sa demande, le fait de voir des "je veux" est limite... Il vaux toujours mieux utiliser des "je souhaiterais", ou des "je voudrais", moins offensant pour les helpers...
Si je reprends ta prose wallyfm, tu conviendra avec nous que ça en fait tout de même pas mal :
Je veux pouvoir consulter la base de doonnées suivants certains critères.
Exemple: je veux voir apparaitre tous les partenaires pouvant livrer dans le département 29.
Je vous avoue que je pourrai agir avec un filtre sur la base mais je veux l'outil rapide d'utilisation.
Bon et bien sur, il n'est pas pour nous ici question de faire le fichier à ta place, et encore moins le week end, mais bien entendu de t'aiguiller vers les bonnes solutions.
En gage de bonne foi, je t'en apporte déjà une :
If CBallfr = true then Sheets("File Partner").Cells(ligne, 11).Value = "OUI" Cbdel01 = True Cbdel02 = True Cbdel03 = True Cbdel04 = True Cbdel05 = True Cbdel06 = True ...........
et fastidieux et inutile... Une boucle t'apportant ton résultat en 5 lignes :
Private Sub CBallfr_Click() Dim Ctrl As Control Sheets("File Partner").Cells(ligne, 11).Value = "OUI" For Each Ctrl In Me.Controls If TypeOf Ctrl Is MSForms.CheckBox Then Ctrl.Value = True Next Ctrl End Sub
Bonjour à toi,
Je suis tout à fait d'accord avec toi. Il n'est pas du tout question que vous fassiez le fichier à ma place, je recherche simplement vos savantes lumières.
Concernant, l'utilisation du "je veux", je ne partage pas du tout ton point de vue.
Quand "je veux"
pouvoir consulter la base de données suivants certains critères:
Suis-je directif, offensant envers les "helpers"?
Et quand "je veux"
l'outil rapide d'utilisation.
Suis-je directif, offensant envers les "helpers"?
Ok, j'aurai pu éviter les répétitions. Désolé, j'ai pas fait L.
Toutes ces phrases sorties de leur contexte, font partie de l'exposition de mon besoin.
Je veux cela comme-ci, comme-ca parce que ca ou ca.
Comment pourrai-je y arriver?
Voilà l'explication de "ma prose"
Désolé je ne maîtrise pas non plus les alexandrins.
Merci tout de même pour l'aiguillage
Je suis tout à fait d'accord avec toi. Il n'est pas du tout question que vous fassiez le fichier à ma place, je recherche simplement vos savantes lumières.
Concernant, l'utilisation du "je veux", je ne partage pas du tout ton point de vue.
Quand "je veux"
pouvoir consulter la base de données suivants certains critères:
Suis-je directif, offensant envers les "helpers"?
Et quand "je veux"
l'outil rapide d'utilisation.
Suis-je directif, offensant envers les "helpers"?
Ok, j'aurai pu éviter les répétitions. Désolé, j'ai pas fait L.
Toutes ces phrases sorties de leur contexte, font partie de l'exposition de mon besoin.
Je veux cela comme-ci, comme-ca parce que ca ou ca.
Comment pourrai-je y arriver?
Voilà l'explication de "ma prose"
Désolé je ne maîtrise pas non plus les alexandrins.
Merci tout de même pour l'aiguillage
'tain c'est grave quand même que tu ne veuilles pas reconnaitre que c'était lourd ta demande... je souhaiterais ceci est tout de même mieux, pour tout le monde non? Sans maîtriser les alexandrins...
Bon revenons en à nos moutons, on est en "bureautique", pas en "prise de tête" et je sens que cette conversation inutile va tourner en rond.
Si tu veux que l'on continue, dis le.
Bon revenons en à nos moutons, on est en "bureautique", pas en "prise de tête" et je sens que cette conversation inutile va tourner en rond.
Si tu veux que l'on continue, dis le.
Bonjour à tous.
Je comprends la réaction de Michel et Pijaku, mais au delà de la polémique et pour essayer d'apporter de l'eau au moulin, je crois que le problème est mal posé.
Si l'on veut se servir d'Excel comme d'une base de données, il faut organiser les données comme dans une base. Ça ressemble à une Lapalissade, mais c'est pourtant le B A BA. On ne mélange pas les torchons et les serviettes.
Tel que le fichier est organisé, ça va vite devenir une usine à gaz pour effectuer une recherche, une mise à jour ou tout autre opération. Sans parler de la maintenance.
De plus, il faut se poser la bonne question : Est-ce un transporteur qui livre plusieurs départements ou bien un département est desservi par plusieurs transporteurs ?
Un autre conseil. Si on veut se servir d'un classeur Excel comme d'une base de données, on évite de mettre les IHM (Interfaces Homme Machine) dans le fichier qui sert de base. Excel n'est pas Access et offre beaucoup moins de souplesse.
Bon courage.
;o)
Je comprends la réaction de Michel et Pijaku, mais au delà de la polémique et pour essayer d'apporter de l'eau au moulin, je crois que le problème est mal posé.
Si l'on veut se servir d'Excel comme d'une base de données, il faut organiser les données comme dans une base. Ça ressemble à une Lapalissade, mais c'est pourtant le B A BA. On ne mélange pas les torchons et les serviettes.
Tel que le fichier est organisé, ça va vite devenir une usine à gaz pour effectuer une recherche, une mise à jour ou tout autre opération. Sans parler de la maintenance.
De plus, il faut se poser la bonne question : Est-ce un transporteur qui livre plusieurs départements ou bien un département est desservi par plusieurs transporteurs ?
Un autre conseil. Si on veut se servir d'un classeur Excel comme d'une base de données, on évite de mettre les IHM (Interfaces Homme Machine) dans le fichier qui sert de base. Excel n'est pas Access et offre beaucoup moins de souplesse.
Bon courage.
;o)
Bonjour Polux31,
pour te répondre, un transporteur peut livrer dans 1 ou n départements et un département peut être livré par 0 ou n transporteurs.
Quand tu dis:
"Si l'on veut se servir d'Excel comme d'une base de données, il faut organiser les données comme dans une base. Ça ressemble à une Lapalissade, mais c'est pourtant le B A BA. On ne mélange pas les torchons et les serviettes."
Que me conseilles tu? Je ne saisis pas. les torchons et les serviettes sont mélangés?
A propos des IHM. tu ma conseilles d'envoyer les infos dans un fichier externe?
Merci.
pour te répondre, un transporteur peut livrer dans 1 ou n départements et un département peut être livré par 0 ou n transporteurs.
Quand tu dis:
"Si l'on veut se servir d'Excel comme d'une base de données, il faut organiser les données comme dans une base. Ça ressemble à une Lapalissade, mais c'est pourtant le B A BA. On ne mélange pas les torchons et les serviettes."
Que me conseilles tu? Je ne saisis pas. les torchons et les serviettes sont mélangés?
A propos des IHM. tu ma conseilles d'envoyer les infos dans un fichier externe?
Merci.
Les torchons = les infos du transporteur, les serviettes = les départements.
pour te répondre, un transporteur peut livrer dans 1 ou n départements et un département peut être livré par 0 ou n transporteurs.
Pourquoi ne le mets-tu pas en pratique alors ?
Une table Transporteurs, une table Département et une table relationnelle Département_Transporteurs.
A propos des IHM. tu ma conseilles d'envoyer les infos dans un fichier externe?
Oui c'est bien ce que j'ai dit.
Tu peux trouver plein d'exemples de liaison entre les fichiers sur un moteur de recherche. Je te conseille de regarder ici : Lire ou écrire dans un classeur fermé.
pour te répondre, un transporteur peut livrer dans 1 ou n départements et un département peut être livré par 0 ou n transporteurs.
Pourquoi ne le mets-tu pas en pratique alors ?
Une table Transporteurs, une table Département et une table relationnelle Département_Transporteurs.
A propos des IHM. tu ma conseilles d'envoyer les infos dans un fichier externe?
Oui c'est bien ce que j'ai dit.
Tu peux trouver plein d'exemples de liaison entre les fichiers sur un moteur de recherche. Je te conseille de regarder ici : Lire ou écrire dans un classeur fermé.