Comment alimenter une base (transfert de données d'un onglet vers une base) via macro

Sabrina_95

XLDnaute Junior
Bonsoir à tous,

j'aurais besoin de conseils... Je vous explique mon problème:
j'ai un fichier excel: onglet1: Base; onglet2: questionnaire.
Afin de dépouiller le questionnaire, pour chaque personne interrogée, j'insère les réponses dans l'onglet2. Et à chaque clique sur un bouton, je souhaite que les données soient transférées vers la base. Ainsi, à chaque fois qu'une personne est interrogée, je souhaite que les données s'insère dans la ligne de la base située en-dessous de la ligne correspondant à la personne précédente interrogée.
J'espère avoir été claire, si ce n'est pas le cas, faites le moi savoir.

Merci beaucoup de me répondre

PS: je veux que pour un questionnaire rempli, l'action du bouton ne puisse agir qu'une seule fois. C'est à dire, si par mégarde j'appuie 2 fois sur le bouton, je ne veux pas que ça crée 2 lignes identiques dans la base.
 

mth

XLDnaute Barbatruc
Re : Comment alimenter une base (transfert de données d'un onglet vers une base) via

Bonsoir Sabrina,

Sans voir de fichier, le meilleur conseil que je puisse te donner est de consulter le forum en faisant des recherches ou en regardant dans les discussions similaires en bas de cette page, ce type de sujet a été traité de nombreuses fois.
Ensuite, si malgré tout tu bloques reviens avec un extrait de ton fichier et ton début de travail, tu trouveras toujours quelqu'un pour t'aider :)

Bonne soirée,

mth
 

Sabrina_95

XLDnaute Junior
Re : Comment alimenter une base (transfert de données d'un onglet vers une base) via

Bonjour,

voici-ci ci-joint un exemple de fichier.
En cliquant sur un bouton, je souhaite transférer ce qui est présent dans l'onglet formulaire vers la base. Et ceci, à chaque fois qu'un nouveau questionnaire est complété.

Merci
 

Pièces jointes

  • QUESTIONNAIRE.xlsx
    9.7 KB · Affichages: 138
  • QUESTIONNAIRE.xlsx
    9.7 KB · Affichages: 157
  • QUESTIONNAIRE.xlsx
    9.7 KB · Affichages: 161

mth

XLDnaute Barbatruc
Re : Comment alimenter une base (transfert de données d'un onglet vers une base) via

Bonjour :)

Un petit essai avec ton fichier en PJ,

Dans le code de la feuille Formulaire, une macro pour choisir la note avec un double clic:
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("A12:I12").SpecialCells(xlCellTypeSameValidation)) Is Nothing Then
        Cancel = True
        With Target
            .Value = IIf(Len(.Value), "", "x")
        End With
    End If
End Sub

Puis le code pour alimenter la base affecté au bouton "Valider":
Code:
Sub valider()
Dim Produit As String, Age As String, Categorie As String, prenom As String, note As String, c As Variant
Dim lig As Long
With Sheets("Formulaire")
    Produit = .Range("B1")
    Age = .Range("C3")
    Categorie = .Range("H3")
    prenom = .Range("E6")
    With .Range("A12:I12")
        Set c = .Find("x", LookIn:=xlValues)
        If Not c Is Nothing Then note = c.Offset(-1, 0).Value
        .ClearContents
    End With
    .Range("B1,C3,E6,H3").ClearContents
End With
With Sheets("Base")
    lig = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
    .Cells(lig, 1) = Produit
    .Cells(lig, 2) = Age
    .Cells(lig, 3) = Categorie
    .Cells(lig, 4) = prenom
    .Cells(lig, 5) = note
End With
End Sub

En espérant que cela puisse t'aider,

Bonne journée,

mth
 

Pièces jointes

  • QUESTIONNAIRE(1).xlsm
    20.9 KB · Affichages: 135

Jacou

XLDnaute Impliqué
Re : Comment alimenter une base (transfert de données d'un onglet vers une base) via

Bonjour Sabrina, bonjour le fil,

Ce petit projet pourrait-il te convenir ?

Jacou
 

Pièces jointes

  • QUESTIONNAIRE.xlsm
    20 KB · Affichages: 177
  • QUESTIONNAIRE.xlsm
    20 KB · Affichages: 193
  • QUESTIONNAIRE.xlsm
    20 KB · Affichages: 195

Sabrina_95

XLDnaute Junior
Re : Comment alimenter une base (transfert de données d'un onglet vers une base) via

Ha finalement y a un juste un ti souci mth...La macro pour placer une croix dans le formulaire m'indique une erreur d'exécution 1004 (aucune cellule ne correspond) quand je l'applique sur mon fichier.
 

mth

XLDnaute Barbatruc
Re : Comment alimenter une base (transfert de données d'un onglet vers une base) via

Re :)

Oui, j'aurais dû te l'écrire noir sur blanc et j'ai oublié dans mon post, so sorry :), en fait il y a une validation de données dans les cellules A12 à I12 pour éviter de saisir autre chose que la lettre x.

Pour la mettre en place, dans le fichier que je t'ai joint sélectionnes A12 à I12, puis vas dans le menu données/validation (je ne sais pas si c'est le même sous Excel 2010).
Là tu vois que j'ai autorisé la saisie de la lettre x.

La macro fait référence à ces cellules ayant le même critère de validation, une fois que tu auras mis cette validation dans ton fichier ça doit fonctionner.

@ +

mth

Edit: re sabrina :)
Ne sois pas désolée, comme je le disais c'est moi qui ai oublié de préciser ce point dans mon message, c'est plutôt à moi d'être désolée ...
Au plaisir de te croiser sur le forum :)
mth
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 732
Messages
2 081 995
Membres
101 857
dernier inscrit
mt60400