Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

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

Bonsour® demande formulaire ?
sans VBA, sans formule ...
je vois ceci

voir l'aide en ligne F1
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…