Inserer les données d'un formulaire de saisie a la dernière ligne non vide

  • Initiateur de la discussion Initiateur de la discussion bibbip35
  • Date de début Date de début

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 !

bibbip35

XLDnaute Occasionnel
Bonjour à tous

Je viens vers vous car je rencontre 1 problème qd j'insere les données issu d'un formulaire de saisie VBA
Ca s'insere toujours a la première ligne alors que je voudrais inserer a la dernière ligne non vide d'un tableau
Voici le code qui me pose problème

Dim Ctrl As Control
Dim L As Integer
L = Sheets("Config. ligne").Range("a65536").End(xlUp).Row + 1
Dim ColonneModif As Byte
With Sheets("Config. ligne")
For Each Ctrl In FORM_AJOUTER.Controls
If Ctrl.Tag <> "" Then
ColonneModif = Split(Ctrl.Tag, " ")(0)
Unité = Split(Ctrl.Tag, " ")(1)
If Unité = "Cstr" Then
.Cells(1, ColonneModif) = CStr(Ctrl)
ElseIf Unité = "Cdbl" Then
If IsNumeric(Ctrl) Then
.Cells(1, ColonneModif) = CDbl(Ctrl)
Else
MsgBox "Valeur non numérique " & Ctrl.Name
End If
ElseIf Unité = "Date" Then
If IsNumeric(Ctrl) Then
.Cells(1, ColonneModif) = CDate(Ctrl)
Else
MsgBox Ctrl.Name & " n'est pas une date"
End If
End If
End If
Next
End With

Avez vous une idée?

Merci d'avance

Bibbip35
 
Re : Inserer les données d'un formulaire de saisie a la dernière ligne non vide

Bonjour à tous

bibbip35
Tu peux nous rappeler combien de fois on t'a conseillé de joindre un fichier exemple à ta question ? 🙄

Sinon en voyant ceci,
L = Sheets("Config. ligne").Range("a65536").End(xlUp).Row + 1
puis cela
.Cells(1, ColonneModif) = CStr(Ctrl)
je te donne un indice, non ?
 
Dernière édition:
Re : Inserer les données d'un formulaire de saisie a la dernière ligne non vide

Bonjour et merci

Déja désolé , pour le fichier exemple...j'ai joint ce que ci 1 fichier


Sinon , j'ai essayé la piste que vous me proposez, et ca me donne le message suivant
reference incorrect ou non qualifiée ou erreur avec With?

Avez-vous 1 idée?

Merci encore
 

Pièces jointes

Re : Inserer les données d'un formulaire de saisie a la dernière ligne non vide

Re

bibbip35
Donc partout dans le code du bouton VALIDER, tu as bien fait cette modif ?
• Remplacer le 1 par L (là ou cela est nécessaire)
comme ci-dessous
With Sheets("Config. ligne")
L = Sheets("Config. ligne").Range("a65536").End(xlUp).Row + 1
.Cells(L, ColonneModif) = CStr(Ctrl)
 
Re : Inserer les données d'un formulaire de saisie a la dernière ligne non vide

Merci

Mais désolé je ne comprends pas...je suis débutant en VBA ( Code adaptée comme j'ai pu )

Pourriez-vous me faire 1 exemple, par au fichier joint dans le post précedents?

Merci encore
 
Re : Inserer les données d'un formulaire de saisie a la dernière ligne non vide

Merci a vous deux

Staple1600; le post mis en avant n'a rien a voir en faite : Je suis sur deux problèmes en faite:
Formulaire de modification

Pb de nombre en texte , lors de la validation de l'userform
Le code est issu de Jean-Marcel ( c'est lui le créateur ) moi, j'ai voulu l'adapter
mais vu que je suis pas doué du tout...voila le resultat

https://www.excel-downloads.com/threads/convertir-texte-en-nombre-sortie-userform.220499/

J'esper que personne ne m'en tiendra rigueur, mais j'essaye de faire comme je peux...

Merci
 
Re : Inserer les données d'un formulaire de saisie a la dernière ligne non vide

Re

bibbip35
J'avais précisé
(si je me trompe pas 😉 )

J'esper que personne ne m'en tiendra rigueur, mais j'essaye de faire comme je peux...
Personne ne tient rigueur de quoique ce soit.
J’essayai juste d'éclairer la lanterne de Gelinotte pour retrouver les bouts de code manquants.

Ton dernier message a définitivement rallumé la lumière 😉
(avec le lien vers Jean-Marcel)
et ravivé ma mémoire défaillante
(car j'étais moi aussi passer dans ce fil 😉
 
Dernière édition:
Re : Inserer les données d'un formulaire de saisie a la dernière ligne non vide

Suite...
(comme écrirait ROGER2327 😉)

Si on reprends le code initial de Jean-Marcel et que l'on compare avec tes modifications
Code:
Private Sub CommandButton1_Click()
    Dim Ctrl As Control
    Dim ColonneModif As Byte
    With Sheets("Feuil1")
        For Each Ctrl In UserForm1.Controls
                  If Ctrl.Tag <> "" Then
                      ColonneModif = Split(Ctrl.Tag, " ")(0)
On devrait trouver ou cela coince.
 
Dernière édition:
Re : Inserer les données d'un formulaire de saisie a la dernière ligne non vide

Merci staple1600 encore une nouvelle fois....

Sinon, en dehors de la boucle? il faut que je remettre l'info. dans le code alors?
Mais ou?

P.S. je comprends lentement mais surement!😉
 
- 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

Réponses
3
Affichages
298
Retour