Alimentation base de données Excel
Résolu
Villette54
Messages postés
300
Date d'inscription
Statut
Membre
Dernière intervention
-
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J’ai besoin d’un peu d’aide pour développer une petite base de données en VBA. J’ai un fichier avec 2 onglets, le premier est l’onglet « formulaire » que mes utilisateurs remplissent en cochant en face des questions dans les colonnes « Oui » « Non » ou « NA ». Les questions de cet onglet peuvent être modifiées à tout moment par le gestionnaire, soit une soit l’intégralité.
Le second onglet est une petite base de données pour stocker les données une fois le formulaire complété afin d’établir des stats.
Le mieux pour représenter mes propos est de vous mettre un exemple de ce à quoi ressemble mon fichier : http://www.cjoint.com/c/FFrhREijeoV
Maintenant que vous voyez plus ou moins l’idée du fichier, voici mon problème : Je n’arrive pas à reporter les infos de mon formulaire dans ma base de données principalement à cause du fait que les questions puissent-être modifiées. Je ne sais pas comment dire en VBA « Si l’intitulé de la question de mon formulaire existe dans ma BDD, alors on ajoute simplement une colonne avec la date et le résultat (oui, non ou na). Sinon il faut ajouter la question à la suite de la BDD avant d’ajouter la colonne. »
J’espère que ma demande est compréhensible et que vous pourrez m’aider !
PS : au cas où cela ne serait pas clair les 3 parties sur chacun de mes onglets représentent toujours le même fichier, mais à des moments différents pour mieux comprendre ma demande !
Merci d’avance.
Bonne journée,
J’ai besoin d’un peu d’aide pour développer une petite base de données en VBA. J’ai un fichier avec 2 onglets, le premier est l’onglet « formulaire » que mes utilisateurs remplissent en cochant en face des questions dans les colonnes « Oui » « Non » ou « NA ». Les questions de cet onglet peuvent être modifiées à tout moment par le gestionnaire, soit une soit l’intégralité.
Le second onglet est une petite base de données pour stocker les données une fois le formulaire complété afin d’établir des stats.
Le mieux pour représenter mes propos est de vous mettre un exemple de ce à quoi ressemble mon fichier : http://www.cjoint.com/c/FFrhREijeoV
Maintenant que vous voyez plus ou moins l’idée du fichier, voici mon problème : Je n’arrive pas à reporter les infos de mon formulaire dans ma base de données principalement à cause du fait que les questions puissent-être modifiées. Je ne sais pas comment dire en VBA « Si l’intitulé de la question de mon formulaire existe dans ma BDD, alors on ajoute simplement une colonne avec la date et le résultat (oui, non ou na). Sinon il faut ajouter la question à la suite de la BDD avant d’ajouter la colonne. »
J’espère que ma demande est compréhensible et que vous pourrez m’aider !
PS : au cas où cela ne serait pas clair les 3 parties sur chacun de mes onglets représentent toujours le même fichier, mais à des moments différents pour mieux comprendre ma demande !
Merci d’avance.
Bonne journée,
A voir également:
- Alimentation base de données Excel
- Liste déroulante excel - Guide
- Trier des données excel - Guide
- Word et excel gratuit - Guide
- Formules excel de base - Guide
- Déplacer colonne excel - Guide
9 réponses
Hello,
Un petit up pour mon problème qui est toujours d'actualité.
Si ce n'est pas clair je peux donner plus d'informations.
Merci d'avance.
Un petit up pour mon problème qui est toujours d'actualité.
Si ce n'est pas clair je peux donner plus d'informations.
Merci d'avance.
Bonjour,
Les questions de cet onglet peuvent être modifiées à tout moment par le gestionnaire, soit une soit l’intégralité.
Il serait plus logique que ce gestionnaire mette les questions directement avec un identifiant ex: Qx dans la base de donnee et de recuperer ces questions par l'identifiant dans le formulaire.
A quoi sert l'auditeur si pas enregistrer ??
Les questions de cet onglet peuvent être modifiées à tout moment par le gestionnaire, soit une soit l’intégralité.
Il serait plus logique que ce gestionnaire mette les questions directement avec un identifiant ex: Qx dans la base de donnee et de recuperer ces questions par l'identifiant dans le formulaire.
A quoi sert l'auditeur si pas enregistrer ??
Bonjour,
Merci pour la réponse !
La première identification ne peut malheureusement pas être modifiée (ce sont des consignes européennes, c’est pour ça que je suis parti sur une distinction par l’intitulé de la question) en revanche si cela facilite la tâche je peux en ajouter une seconde pour distinguer chaque question ?
Pour ce qui est de l’auditeur, ma macro actuelle sauvegarde une copie du formulaire (en PDF) une fois celui-ci rempli (sur laquelle figure l’auditeur donc si besoin).
Je dois donc en fin d’année refaire les stats à la main à partir des PDF, ce qui avouons-le n’est pas pratique, d’où l’idée de la base alimentée en continue. En revanche pour les stats nous ne devons pas prendre en compte l’auditeur c’est pour ça que cette donnée n’est pas reprise dans la base.
Encore merci
Merci pour la réponse !
La première identification ne peut malheureusement pas être modifiée (ce sont des consignes européennes, c’est pour ça que je suis parti sur une distinction par l’intitulé de la question) en revanche si cela facilite la tâche je peux en ajouter une seconde pour distinguer chaque question ?
Pour ce qui est de l’auditeur, ma macro actuelle sauvegarde une copie du formulaire (en PDF) une fois celui-ci rempli (sur laquelle figure l’auditeur donc si besoin).
Je dois donc en fin d’année refaire les stats à la main à partir des PDF, ce qui avouons-le n’est pas pratique, d’où l’idée de la base alimentée en continue. En revanche pour les stats nous ne devons pas prendre en compte l’auditeur c’est pour ça que cette donnée n’est pas reprise dans la base.
Encore merci
Re,
Dans l'attente, un exemple, restera la raz de la zone de saisie
https://www.cjoint.com/c/FFvnNbRa4Ef
Dans l'attente, un exemple, restera la raz de la zone de saisie
https://www.cjoint.com/c/FFvnNbRa4Ef
Re,
Désolé je n'avais pas vu votre message avec le fichier...
Le fichier tel que proposé me donne une bonne base de travail (je n’avais pas la moindre idée de comment commencer). En revanche à l’heure actuelle il me pose quelques petits soucis :
1. Il ne prend pas en compte l’ajout d’une nouvelle question (Si j’ajoute la Q7 : Fait-il sombre ?) et que Q7 n’est pas dans la BDD j’ai un message d’erreur (Run time error 91, sur la ligne 22/23)
2. Je dois avouer que je ne comprends absolument pas certaines parties du code (ligne 13, ligne 18 & lignes 22/23).
En tout cas, un GRAND MERCI pour votre aide
Désolé je n'avais pas vu votre message avec le fichier...
Le fichier tel que proposé me donne une bonne base de travail (je n’avais pas la moindre idée de comment commencer). En revanche à l’heure actuelle il me pose quelques petits soucis :
1. Il ne prend pas en compte l’ajout d’une nouvelle question (Si j’ajoute la Q7 : Fait-il sombre ?) et que Q7 n’est pas dans la BDD j’ai un message d’erreur (Run time error 91, sur la ligne 22/23)
2. Je dois avouer que je ne comprends absolument pas certaines parties du code (ligne 13, ligne 18 & lignes 22/23).
Sub Majour_BD() Dim PlageF As Variant, derlig, Sem Dim derco, ad As String With Worksheets("Formulaire") derlig = .Range("A" & Rows.Count).End(xlUp).Row PlageF = .Range("A4:E" & derlig).Value Sem = .Range("D1") End With With Worksheets("BDD") 'cherche le nom (la lettre) de la colonne derco = .Cells(1, Columns.Count).End(xlToLeft).Column LC = Split(Cells(8, derco).Address, "$")(1) If Application.CountIf(.Range("C1:" & LC & "1"), Sem) = 0 Then derco = derco + 1 .Cells(1, derco) = Sem 'ID Questions Oui Non NA Nb = UBound(PlageF) If Nb > -1 And PlageF(1, 2) <> "" Then For N = 1 To Nb lig = 2 lig = .Columns(1).Find(PlageF(N, 1), .Cells(lig, 1), , xlWhole).Row If PlageF(N, 3) <> "" Then .Cells(lig, derco) = "Oui" ElseIf PlageF(N, 4) <> "" Then .Cells(lig, derco) = "Non" ElseIf PlageF(N, 5) <> "" Then .Cells(lig, derco) = "NA" Else End If Next N End If Else MsgBox "Semaine deja enregistree !!!!" End If End With Set PlageF = Nothing End Sub
En tout cas, un GRAND MERCI pour votre aide
Bonjour,
commentaires ligne code et test ID n'existe pas dans BDD
https://www.cjoint.com/c/FFwfRig6y1f
commentaires ligne code et test ID n'existe pas dans BDD
https://www.cjoint.com/c/FFwfRig6y1f
Bonjour,
Merci pour les commentaires je comprends un peu mieux le fonctionnement.
J'ai compris ce que faisait le code maintenant, ! (Gestion via la BDD).
Je vais devoir m'organiser un peu différement pour l'utilisation du fichier (je ne pensais pas donner l'accès à la BDD aux utilisateurs, mais ils en auront besoin pour connaître l'ID des questions) mais ça devrait faire l'affaire.
En espérant que maintenant j'arrive à tranposer la macro dans mon vrai fichier qui lui comporte plusieurs onglets "formulaires" mais une seule BDD.
Encore merci pour l'aide et le temps que vous m'avez consacré.
Bonne journée,
Merci pour les commentaires je comprends un peu mieux le fonctionnement.
J'ai compris ce que faisait le code maintenant, ! (Gestion via la BDD).
Je vais devoir m'organiser un peu différement pour l'utilisation du fichier (je ne pensais pas donner l'accès à la BDD aux utilisateurs, mais ils en auront besoin pour connaître l'ID des questions) mais ça devrait faire l'affaire.
En espérant que maintenant j'arrive à tranposer la macro dans mon vrai fichier qui lui comporte plusieurs onglets "formulaires" mais une seule BDD.
Encore merci pour l'aide et le temps que vous m'avez consacré.
Bonne journée,
Re,
(je ne pensais pas donner l'accès à la BDD aux utilisateurs, mais ils en auront besoin pour connaître l'ID des questions) Vous avez mal exprime votre besoin, pour moi c'est le gestionnaire qui mettait les questions pour les utilisateurs. La programmation aurait ete differente. Depuis quand un utilisateur pose les questions ???? Pas normal ca !!!!!
(je ne pensais pas donner l'accès à la BDD aux utilisateurs, mais ils en auront besoin pour connaître l'ID des questions) Vous avez mal exprime votre besoin, pour moi c'est le gestionnaire qui mettait les questions pour les utilisateurs. La programmation aurait ete differente. Depuis quand un utilisateur pose les questions ???? Pas normal ca !!!!!
Re,
Je reconnais que je n’ai pas su exprimer mon besoin clairement.
La définition que nous avons de gestionnaires / utilisateurs est un peu biaisée aussi (dû à un manque d’information de ma part), comme je l’ai dit dans mon dernier message, mon fichier comporte plusieurs formulaires. Il y a une personne « en charge » pour chaque formulaire : c’est cette personne qui choisit les questions de son formulaire, qui est remplit par la suite par des utilisateurs. Sauf que pour moi cette personne qui est « en charge » des formulaires est un utilisateur aussi et je suis le seul gestionnaire or pour vous cette personne est le gestionnaire. Mais disons que certains d’entre eux ne sont pas à l’aise sur Excel, voilà pourquoi je voulais leurs faciliter la tâche avec une implémentation automatique des questions dans la base de données, après modification sur le formulaire.
Je reconnais que je n’ai pas su exprimer mon besoin clairement.
La définition que nous avons de gestionnaires / utilisateurs est un peu biaisée aussi (dû à un manque d’information de ma part), comme je l’ai dit dans mon dernier message, mon fichier comporte plusieurs formulaires. Il y a une personne « en charge » pour chaque formulaire : c’est cette personne qui choisit les questions de son formulaire, qui est remplit par la suite par des utilisateurs. Sauf que pour moi cette personne qui est « en charge » des formulaires est un utilisateur aussi et je suis le seul gestionnaire or pour vous cette personne est le gestionnaire. Mais disons que certains d’entre eux ne sont pas à l’aise sur Excel, voilà pourquoi je voulais leurs faciliter la tâche avec une implémentation automatique des questions dans la base de données, après modification sur le formulaire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Après quelques essais, la solution proposée par f894009 ne me permet pas de faire ce que je souhaite.
Je relance donc le sujet en espérant qu'une autre solution soit possible.
Merci d'avance.
Bonne journée,
Après quelques essais, la solution proposée par f894009 ne me permet pas de faire ce que je souhaite.
Je relance donc le sujet en espérant qu'une autre solution soit possible.
Merci d'avance.
Bonne journée,
Bonjour,
Voyons la chose differemment:
Pas d'acces a la base d'enregistrement
mon fichier comporte plusieurs formulaires. combien a un pret
c’est cette personne qui choisit les questions de son formulaire
ces questions sont predefinies ou il ecrit portnawac ??
Que se passe-t-il si la meme question est posee par plusieurs la meme semaine ?
Voyons la chose differemment:
Pas d'acces a la base d'enregistrement
mon fichier comporte plusieurs formulaires. combien a un pret
c’est cette personne qui choisit les questions de son formulaire
ces questions sont predefinies ou il ecrit portnawac ??
Que se passe-t-il si la meme question est posee par plusieurs la meme semaine ?
Bonjour,
Il y a un formulaire par zone dans l’usine pour simplifier. Je dirais donc 8 formulaires, soit 8 onglets. Je me sers du nom de l’onglet pour distinguer les questions de chaque zone. (J’ai ajouté une colonne « zone » dans ma BDD)
Rien n’est prédéfini, le responsable de chaque zone choisit ses questions en fonction des soucis de la semaine précédente, des points critiques pour la semaine à venir ou simplement de son envie. Il se peut donc que la même question se retrouve dans plusieurs formulaires et ce pendant plusieurs semaines.
Pour donner un exemple concret, si à la suite d’une visite dans l’usine quelqu’un rapporte qu’il y avait un stockage devant une porte de secours (ce qui est interdit) la question « l’accès aux portes de secours est-il dégagé ? » est une question qui va apparaitre sur toutes les zones et ce pendant 1, 2, 3 ou 10 semaines en fonction de l’évolution de la situation. Cette question va ensuite disparaitre de telle ou telle zone pour peut-être revenir 2 mois plus tard. En revanche, si elle revient 2 mois plus tard le texte sera EXACTEMENT le même, la question NE DEVIENDRA PAS « les portes de secours sont-elles encombrés ? » par exemple.
C’est un point sur lequel j’ai beaucoup insisté pour me faciliter la vie lors de mes stats de fin d’année.
Il y a un formulaire par zone dans l’usine pour simplifier. Je dirais donc 8 formulaires, soit 8 onglets. Je me sers du nom de l’onglet pour distinguer les questions de chaque zone. (J’ai ajouté une colonne « zone » dans ma BDD)
Rien n’est prédéfini, le responsable de chaque zone choisit ses questions en fonction des soucis de la semaine précédente, des points critiques pour la semaine à venir ou simplement de son envie. Il se peut donc que la même question se retrouve dans plusieurs formulaires et ce pendant plusieurs semaines.
Pour donner un exemple concret, si à la suite d’une visite dans l’usine quelqu’un rapporte qu’il y avait un stockage devant une porte de secours (ce qui est interdit) la question « l’accès aux portes de secours est-il dégagé ? » est une question qui va apparaitre sur toutes les zones et ce pendant 1, 2, 3 ou 10 semaines en fonction de l’évolution de la situation. Cette question va ensuite disparaitre de telle ou telle zone pour peut-être revenir 2 mois plus tard. En revanche, si elle revient 2 mois plus tard le texte sera EXACTEMENT le même, la question NE DEVIENDRA PAS « les portes de secours sont-elles encombrés ? » par exemple.
C’est un point sur lequel j’ai beaucoup insisté pour me faciliter la vie lors de mes stats de fin d’année.
Bonjour,
Vous pourriez mettre votre nouveau fichier a dispo pour la partie zone ???
Vous pourriez mettre votre nouveau fichier a dispo pour la partie zone ???
Bonjour,
Encore merci pour votre aide.
Voici mon vrai fichier très légerement simplifié (retrait de certaines données et diminution du nombre de formulaires) avec le code que j'ai bidouillé en m'inspirant de chose que j'ai trouvé ici et ailleurs (j'ai honte de mettre ça, mon code doit être incroyablement sale... désolé par avance) et je suis bloqué au transfert de données vers la BDD2, j'espère que ce fichier aidera à la comprehension générale...
Evidemment je suis ouvert à toute modification...
http://www.cjoint.com/c/FGfjxhi365V
Merci d'avance.
Encore merci pour votre aide.
Voici mon vrai fichier très légerement simplifié (retrait de certaines données et diminution du nombre de formulaires) avec le code que j'ai bidouillé en m'inspirant de chose que j'ai trouvé ici et ailleurs (j'ai honte de mettre ça, mon code doit être incroyablement sale... désolé par avance) et je suis bloqué au transfert de données vers la BDD2, j'espère que ce fichier aidera à la comprehension générale...
Evidemment je suis ouvert à toute modification...
http://www.cjoint.com/c/FGfjxhi365V
Merci d'avance.
Re,
En attendant, votre fichier un peu modifie avec une seule procedure pour tous les onglets questionnaire clic bouton validation BDD2
https://www.cjoint.com/c/FGfn5HLYjcf
Maintenant, les reponses aux questions sont a enregistrer dans BDD ???
En attendant, votre fichier un peu modifie avec une seule procedure pour tous les onglets questionnaire clic bouton validation BDD2
https://www.cjoint.com/c/FGfn5HLYjcf
Maintenant, les reponses aux questions sont a enregistrer dans BDD ???
Bonjour,
Merci pour les modifications, j'avais essayé de tout regrouper mais sans succés.
Je viens effectivement de me rendre compte d'une erreur dans mon dernier message, le transfert vers la BDD2 est ok, je suis bloqué au transfert vers la BDD soit l'étape 3 de mon code (avec les numéros de semaine qui s'ajoute en colonne si la question existe, et les questions qui s'ajoutent en dessous si elles n'existent pas, comme dans ma version simplifiée).
Merci
Merci pour les modifications, j'avais essayé de tout regrouper mais sans succés.
Je viens effectivement de me rendre compte d'une erreur dans mon dernier message, le transfert vers la BDD2 est ok, je suis bloqué au transfert vers la BDD soit l'étape 3 de mon code (avec les numéros de semaine qui s'ajoute en colonne si la question existe, et les questions qui s'ajoutent en dessous si elles n'existent pas, comme dans ma version simplifiée).
Merci
Bonjour,
Suite à quelques tests et quelques modifications sur le fichier dans le but d’harmoniser les formulaires et de simplifier le code j’ai à nouveau besoin d’aide.
J’ai essayé de modifier le code pour n’avoir plus que le report d’une seule colonne, celle qui est masquée dans le formulaire en G (au lieu des 3 autres). Mais en vain, je ne comprends pas plus de la moitié des étapes du module 2…
Il y a également un souci au niveau du report, même si l’intitulé de la question ne change pas, une nouvelle ligne s’ajoute à chaque fois et parfois le numéro de semaine n’apparait pas.
J’espère que vous pourrez m’aider. Je remets évidemment une version à jour de mon fichier : http://www.cjoint.com/c/FGtm6f4yaPV
Merci d’avance
Bonne journée,
Suite à quelques tests et quelques modifications sur le fichier dans le but d’harmoniser les formulaires et de simplifier le code j’ai à nouveau besoin d’aide.
J’ai essayé de modifier le code pour n’avoir plus que le report d’une seule colonne, celle qui est masquée dans le formulaire en G (au lieu des 3 autres). Mais en vain, je ne comprends pas plus de la moitié des étapes du module 2…
Il y a également un souci au niveau du report, même si l’intitulé de la question ne change pas, une nouvelle ligne s’ajoute à chaque fois et parfois le numéro de semaine n’apparait pas.
J’espère que vous pourrez m’aider. Je remets évidemment une version à jour de mon fichier : http://www.cjoint.com/c/FGtm6f4yaPV
Merci d’avance
Bonne journée,
Re,
En attendant par pas de 3
https://www.cjoint.com/c/FGtoEmLk72f
reste si enregistrement sur semaine anterieure ajout semaine !!!!!
En attendant par pas de 3
https://www.cjoint.com/c/FGtoEmLk72f
reste si enregistrement sur semaine anterieure ajout semaine !!!!!
Re,
Actuellement dans l'onglet BDD, 3 colonnes (par exemple : DEF pour semaine 28, GHI pour semaine 29, JKL pour semaine 30, ...) servent à une seule date car les cellules sont fusionnées pour chaque semaine car avant les 3 colonnes (DEF) des formulaires étaient reportées. J'aimerais que maintenant il n'y est dans l'onglet BDD qu'une seule colonne dédiée par semaine car il ne faut plus reporter qu'une seule colonne des formulaires (G). Ce qui donnerait donc par exemple : colonne D pour semaine 28, colonne E pour semaine 29, colonne F pour semaine 30, ...
En revanche je ne parviens pas à mettre le doigt sur les modifications apportées par la version que vous venez de m'envoyer ?
Encore merci pour votre aide !
Actuellement dans l'onglet BDD, 3 colonnes (par exemple : DEF pour semaine 28, GHI pour semaine 29, JKL pour semaine 30, ...) servent à une seule date car les cellules sont fusionnées pour chaque semaine car avant les 3 colonnes (DEF) des formulaires étaient reportées. J'aimerais que maintenant il n'y est dans l'onglet BDD qu'une seule colonne dédiée par semaine car il ne faut plus reporter qu'une seule colonne des formulaires (G). Ce qui donnerait donc par exemple : colonne D pour semaine 28, colonne E pour semaine 29, colonne F pour semaine 30, ...
En revanche je ne parviens pas à mettre le doigt sur les modifications apportées par la version que vous venez de m'envoyer ?
Encore merci pour votre aide !