XL 2016 Comment entrer des données dans la première ligne vide d'un tableau

Bonjour!

Je travailles à un document pour centraliser les statistiques de l,organisme pour lequel je travaille. Je viens de frapper un mur. J'ai potassé sur ce forum, cart j'y trouve habituellement pleins de trucs géniaux pour excel. N'ayant pas trouvé ce que je cherchais, je viens consulter la sagesse collective du forum.

J'aimerais faire un formulaire dans un onglet excel. Jusque là, ça va. Là où ça ne va pas, c'est que j'aimerais avoir un bouton sur ce formulaire pour qu'Excel inscrive les informations entrées dans la première ligne vide d'un onglet séparé.

J'inclus une version très, très de base de ce que j'ai fait. J'aimerais savoir comment faire un bouton pour que les infos colligées dans l'onglet "entrée de donnée" soient inscrits sur la première ligne vide dans l'onglet base de donnée.

Merci d'avance,

Hugo
 

Pièces jointes

  • Formulaire.xlsx
    9.4 KB · Affichages: 8

job75

XLDnaute Barbatruc
Bonsoir LeGarsDesStatsSansFormati (Hugo), bienvenue sur XLD,

S'agissant d'une version très, très de base, inutile de se casser la tête, placez dans le code de la 1ère feuille :
VB:
Private Sub Worksheet_Change(ByVal target As Range)
If [COUNTA(A2:E2)] = 5 Then Feuil2.Range("A" & Rows.Count).End(xlUp)(2).Resize(, 5) = [A2:E2].Value
End Sub
A+
 

Pièces jointes

  • Formulaire(1).xlsm
    17.2 KB · Affichages: 5

job75

XLDnaute Barbatruc
Pas beaucoup de réaction le gars ! Peut-être réagira-t-il avec cette solution plus élaborée :
VB:
Sub Transfert()
Dim F As Worksheet, lig&, x$, i As Variant, rep As Byte
Set F = Feuil1 'Codename de la 1ère feuille, à adapter
If Application.CountA(F.[A2:E2]) < 5 Then MsgBox "Renseignez les 5 cellules...": Exit Sub
With Feuil2 'CodeName de la 2ème feuille, à adapter
    .Visible = xlSheetVisible 'si la feuille est masquée
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    lig = .Cells(.Rows.Count, 1).End(xlUp).Row + 1 '1ère ligne vide
    x = F.[A2] & F.[B2]
    i = Evaluate("MATCH(""" & x & """,'" & .Name & "'!A1:A" & lig & "&'" & .Name & "'!B1:B" & lig & ",0)")
    If IsNumeric(i) Then rep = MsgBox("'" & F.[A2] & " " & F.[B2] & "' a déjà été transféré." & vbLf & "Voulez-vous modifier les 3 autres valeurs ?", 3)
    If rep = 2 Then Exit Sub Else If rep = 6 Then lig = i
    .Cells(lig, 1).Resize(, 5) = F.[A2:E2].Value
    Application.Goto .Cells(lig, 1) 'facultatif
End With
End Sub
 

Pièces jointes

  • Formulaire(2).xlsm
    23.2 KB · Affichages: 8

Modeste geedee

XLDnaute Barbatruc
Bonsour®
J'aimerais faire un formulaire dans un onglet excel. Jusque là, ça va. Là où ça ne va pas, c'est que j'aimerais avoir un bouton sur ce formulaire pour qu'Excel inscrive les informations entrées dans la première ligne vide d'un onglet séparé.
demande formulaire ?
sans VBA, sans formule ...
je vois ceci
1571303287951.png

voir l'aide en ligne F1
Bouton Ajouter le formulaire au ruban
  1. Au besoin, ajoutez un en-tête de colonne à chaque colonne de la plage ou de la table. Excel utilise ces en-têtes de colonnes pour créer les étiquettes de chaque champ du formulaire.
    Important : Assurez-vous que la plage de données ne contient aucune ligne vide.
  2. Cliquez sur une cellule de la plage ou de la table à laquelle vous souhaitez ajouter le formulaire.
  3. Pour ajouter le bouton Formulaire
    Bouton Contrôle de formulaire
    à la barre d’outils Accès rapide, procédez comme suit :
    1. Cliquez sur la flèche en regard de la barre d’outils Accès rapide, puis cliquez sur Autres commandes.
    2. Dans la zone Choisir les commandes dans les catégories suivantes, cliquez sur Toutes les commandes, puis sélectionnez le bouton Formulaire
      Bouton Contrôle de formulaire
      dans la liste.
    3. Cliquez sur Ajouter, puis sur OK.
  4. Dans la barre d’outils Accès rapide, cliquez sur Formulaire
    Bouton Contrôle de formulaire
    .
Important : Si un message « Champs trop nombreux dans le formulaire de données » s’affiche, vous devez réduire le nombre de colonnes car un formulaire de données peut contenir uniquement jusqu’à 32 colonnes. Une solution (en cas d’utilisation d’une plage de colonnes) consiste à insérer une colonne vide, ce qui revient à fractionner une plage en deux. Ensuite, si nécessaire, créez un formulaire de données distinct pour les colonnes situées à droite de la colonne vide.
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 892
Membres
101 831
dernier inscrit
gillec