VBA Problème de saisie

Emmanuel31100

XLDnaute Nouveau
Bonjour le forum,

Si je fais appel à vous aujourd'hui c'est parce que j'ai un petit problème de code, j'apprends progressivement à me servir de VBA mais c'est encore un peu fouilli dans ma tête :rolleyes:

Je m'explique:

J'ai créé un classeur permettant la saisie de dossiers sur différentes feuilles à base de différents userforms (1 userform/feuille). Mon code se base sur 'end(xlup)' et donc lors d'une nouvelle saisie toutes les nouvelles données sont inscrites dans la dernière cellule vide du tableau. C'est là que se situe mon problème..

Autant la 1ère colonne de chaque feuille est à chaque fois renseignée, autant il arrive que pour certains dossiers d'autres colonnes ne le soient pas.

Ma question serait donc, quel code faut-il inscrire afin qu'une fois la 1ère colonne renseignée (Colonne A : Nom/prénom) alors la saisie des autres données s'inscrive dans les autres colonnes mais sur la même ligne?

Pour vous donner une meilleure image de mon code je vous en donne l'extrait intéressant:

Private Sub CommandButton1_Click()
With Sheets("Annul&refus")
.[A65536].End(xlUp).Offset(1, 0) = TextBox1.Value
.[B65536].End(xlUp).Offset(1, 0) = TextBox2.Value
.[K65536].End(xlUp).Offset(1, 0) = ComboBox2.Value
.[L65536].End(xlUp).Offset(1, 0) = TextBox4.Value
.[M65536].End(xlUp).Offset(1, 0) = TextBox5.Value
End With
End sub

Je vous remercie d'avance pour votre aide! :)

Emmanuel
 

néné06

XLDnaute Accro
Re : VBA Problème de saisie

bonjour emmanuel 31100

peut etre comme ceci?
Private Sub CommandButton1_Click()
With Sheets("Annul&refus")
.[A65536].End(xlUp).Offset(1, 0) = TextBox1.Value
.[A65536].End(xlUp).Offset(1, 1) = TextBox2.Value
.[A65536].End(xlUp).Offset(1, 10) = ComboBox2.Value
.[A65536].End(xlUp).Offset(1, 11) = TextBox4.Value
.[A65536].End(xlUp).Offset(1, 12) = TextBox5.Value
End With
End sub

A+
 

kjin

XLDnaute Barbatruc
Re : VBA Problème de saisie

Bonjour,
Code:
Private Sub CommandButton1_Click()
Dim dl As Long
With Sheets("Annul&refus")
    dl = .Range("A65000").End(xlUp).Row + 1 'première ligne vide colonne A
    .Cells(dl, 1) = TextBox1 'ou .Range("A" & dl) = TextBox1
    .Cells(dl, 2) = TextBox2 'ou .Range("B" & dl) = TextBox2
    '....
End With
End Sub

Edit : pense à mettre tes lignes de codes dans des balises (#)

A+
kjin
 
Dernière édition:

Emmanuel31100

XLDnaute Nouveau
Re : VBA Problème de saisie

Le code de kjin fonctionne parfaitement :) .. je dois maintenant l'appliquer à mes 28 userforms lol :eek:

Je tiens à vous remercier néné06, titiborregan5 et kjin pour vos réponses si rapides et votre aide si précieuse!

Je penserai désormais à mettre mes codes entre balises!

Merci à vous et à bientôt sur le forum ;)
 

Discussions similaires

Réponses
0
Affichages
177
Réponses
5
Affichages
244

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 071
Membres
104 020
dernier inscrit
Mzghal