Alimentation base de données Excel

Résolu/Fermé
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 - 17 juin 2016 à 09:45
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 - 20 juil. 2016 à 17:47
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,
A voir également:

9 réponses

Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
20 juin 2016 à 09:51
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.
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
21 juin 2016 à 14:20
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 ??
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
21 juin 2016 à 15:53
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
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018
21 juin 2016 à 15:58
Re,

Avez-vous regarde le fichier que j'ai mis a dispo f894009 21 juin 2016 à 15:39 ????
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
21 juin 2016 à 15:39
Re,

Dans l'attente, un exemple, restera la raz de la zone de saisie

https://www.cjoint.com/c/FFvnNbRa4Ef
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
21 juin 2016 à 17:28
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).

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 
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018
21 juin 2016 à 19:36
Re,
1) il faut que la question soit dans la BDD et quand vous ecrivez colonne A Qx (faudra se rappeler le x ) , le texte de la question s'affiche en colonne B

2) demain je commente les lignes
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
22 juin 2016 à 07:43
Bonjour,

commentaires ligne code et test ID n'existe pas dans BDD

https://www.cjoint.com/c/FFwfRig6y1f
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
22 juin 2016 à 10:14
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,
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018
22 juin 2016 à 11:17
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 !!!!!
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
22 juin 2016 à 12:31
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
29 juin 2016 à 12:34
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,
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
29 juin 2016 à 13:51
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 ?
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
Modifié par Villette54 le 29/06/2016 à 15:26
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.
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
4 juil. 2016 à 13:52
Bonjour,

Un petit up de plus sur mon sujet.

Bonne journée,
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
4 juil. 2016 à 14:06
Bonjour,

Vous pourriez mettre votre nouveau fichier a dispo pour la partie zone ???
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
5 juil. 2016 à 11:25
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.
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
5 juil. 2016 à 14:38
Bonjour,

Ok, je regarde la chose
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024
Modifié par f894009 le 5/07/2016 à 15:57
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 ???
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
6 juil. 2016 à 09:20
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
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018
Modifié par f894009 le 6/07/2016 à 13:43
Bonjour,

Dans BDD, Zone et Feuille c'est quoi car dans votre code Feuille et Zone c'est la meme chose ??????????????????????????????????????????????????????????

Pour les feuilles, z'avez pas un peu panouiller, y a plusieurs fois securite ou qualite ou environnement
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
19 juil. 2016 à 15:00
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,
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié par f894009 le 19/07/2016 à 15:25
Bonjour,

Vous ne voulez qu'une seule colonne par semaine pour BDD2??
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
19 juil. 2016 à 15:39
Pour la BDD1, avant il y avait 3 colonnes sous le numéro de la semaine : l'une pour "Oui" une pour "Non" et l'une pour "NA" (comme sur le formulaire). J'aimerais qu'il n'y en ai plus qu'une seule avec écrit "Oui / Non / NA" d'où mon ajout sur le formulaire de la colonne masquée.
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018
Modifié par f894009 le 19/07/2016 à 16:12
Re,

Ok, une colonne par pas de 1 ou 4 ????
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024
19 juil. 2016 à 16:31
Re,

En attendant par pas de 3

https://www.cjoint.com/c/FGtoEmLk72f

reste si enregistrement sur semaine anterieure ajout semaine !!!!!
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
Modifié par Villette54 le 19/07/2016 à 17:03
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 !
0