Insertion valeur dans cellule

kohta

XLDnaute Occasionnel
Bonjour, j'ai une feuille excel dans laquelle sont renseignées différentes valeurs(par ligne).

On renseigne chaque ligne à l'aide d'un userform composé de textbox et d'un bouton Command_button "ok".

J'aimerais que les valeurs s'ajoute chaque fois sur la première ligne vide du tableau (à la suite les une des autres) et non chaque fois par dessus les anciennes valeurs.

En gros, copier les valeurs des textbox avec chaque fois "ligne+1"

Qulqu'un pour m'aider?

Merci de votre soutien et bonne journée
 

roro69

XLDnaute Impliqué
Re : Insertion valeur dans cellule

Bonjour à essayer/
Code à mettre dans la procédure de ton bouton validation
Dim Ligne As Integer 'Variable pour connaitre le numéro de la derniere ligne vide
Ligne = NomdeTaFeuille.Range("A65536").End(xlUp).Row + 1 ' On identifie la dernière ligne vide en partant du bas
With NomdeTaFeuille
.Range("A" & Ligne) = TextBoX1 ' On écrit dans chaque colonne les valeurs des différents controls
.Range("B" & Ligne) = TextBox2
'Ect.........
End With
A++
 

kohta

XLDnaute Occasionnel
Re : Insertion valeur dans cellule

Merci du coup de main, j'ai remanié tout ceci à ma sauce et cela fonctionne parfaitement.

Une autre petite question: comment, dans une textbox, je pourrais forcer un format de saisie?

Par exemple
**/**/**** pour une date?

Merci encore
 

roro69

XLDnaute Impliqué
Re : Insertion valeur dans cellule

Re pour commencer un bout de code pour s'assurer que la date est bien formater/

Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim ArrD
ArrD = Split(TextBox1.Text, Application.International(xlDateSeparator))
'compte le nb de "/" inclus dans la date pour éviter la saisie de dates
'incomplètes ou ambigües type 02/02
If UBound(ArrD) <> 2 Then
MsgBox ("Attention, saisir jour/ mois / année !")
GoTo Fin
End If
If Not IsDate(TextBox1.Value) Then
MsgBox ("Attention, il faut entrer un format de date valide jj/mm/AA !")
GoTo Fin
End If

Exit Sub
Fin:
Cancel = True 'empêche la sortie du textbox en cours
TextBox1.SetFocus 'redonne le focus au textbox
TextBox1.SelStart = 0 'positionne le curseur au début du textbox
TextBox1.SelLength = Len(TextBox11) 'sélectionne le texte dékà entré
End Sub
ENsuite dans ton bouton validation:
'............dit pls haut
Dim Ladate As Date
TextBox1.Value = Format(TextBox1.Value, "dd/mm/yy")
Ladate = CDate(TextBox1.Value)

With NomdeTaFeuille
.Range("A" & Ligne).NumberFormat = = "dd-mmm-YYYY"
.Range("A" & Ligne) = Ladate
A++
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 760
dernier inscrit
antar gass