Comment aller à la première ligne de libre après avoir enregistrer un formulaire ?

mel1414

XLDnaute Nouveau
Bonjour à tous,

Complétement novice dans l'excel et le VBA je viens vers vous pour avoir un peu d'aide.

Alors voilà sur une première feuille j'ai une sorte de formulaire que doit remplir un utilisateur où l'utilisateur peut soit valider le formulaire soit l'effacer avec des boutons.

Etant donné que ce formulaire est destiné à ce que plusieurs utilisateurs le remplissent, j'ai créé une deuxième feuille où je reporte les champs du formulaire.

Ma question est :
comment reporter, sauvegarder et aller à la ligne après validation du formulaire ?

J'ai mis mon fichier en PJ.

Merci à qui pourra m'aider.
 

Pièces jointes

  • bordereau rev 001.xls
    78.5 KB · Affichages: 54

Dranreb

XLDnaute Barbatruc
Re : Comment aller à la première ligne de libre après avoir enregistrer un formulaire

Bonjour.
Vous avez déjà dans votre programmation un élément de réponse qui semble marcher.
VB:
Dim Ligne As Long
Ligne = Feuil2.Cells.Find("*", , , , , xlPrevious).Row + 1
Feuil2.Cells(Ligne, "A").Value = Me.[C5].Value
etc.
Mais ce serait plus rapide de les ranger dans un T(1 To 1, 1 To 9) que vous affecteriez d'un coup à la fin à Feuil2.[A:I].Rows(Ligne).Value
 

mel1414

XLDnaute Nouveau
Re : Comment aller à la première ligne de libre après avoir enregistrer un formulaire

Merci de la réponse.
Oui effectivement j'ai baragouiné quelque chose mais qui ne fonctionnait pas ou du moins je n'ai pas réussis à le faire fonctionner.

Je ne comprends pas trop de quoi il s'agit le 1 to 1 et 1 to 9... trop novice désolé !
 

Dranreb

XLDnaute Barbatruc
Re : Comment aller à la première ligne de libre après avoir enregistrer un formulaire

Il s'agit des dimensions d'un tableau de Variant.
VB:
Dim T(1 To 1, 1 To 9)
L'image de la propriété Value d'une plage de plusieurs cellules contiguës est toujours un tableau à 2 dimensions même quand il n'y a qu'une seule ligne ou colonne.
 
Dernière édition:

mel1414

XLDnaute Nouveau
Re : Comment aller à la première ligne de libre après avoir enregistrer un formulaire

j'essaie de faire avec le peu de connaissance que j'ai :)

Comme cela :
'Dim Ligne As Long
'Dim T (1 To 1,1 To 9)
'Ligne = Feuil2.Cells.Find("*", , , , , xlPrevious).Row + 1
'Feuil2.[A:I].Rows(Ligne).Value
 

Dranreb

XLDnaute Barbatruc
Re : Comment aller à la première ligne de libre après avoir enregistrer un formulaire

Il faut bien évidemment d'abord garnir votre tableau avant de l'affecter à la Value de la ligne
VB:
T(1, 1) = Me.[C5].Value
T(1, 2) = Me.[C7].Value
etc.
Feuil2.[A:I].Rows(Ligne).Value = T
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 389
Messages
2 087 933
Membres
103 678
dernier inscrit
bibitm