VBA - copier l'ensemble des valeur des txtbox

  • Initiateur de la discussion Initiateur de la discussion Mikam1660
  • 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 !

Mikam1660

XLDnaute Nouveau
Bonjour à tous,

Je cale sur un problème en vba (mon niveau étant très faible vous vous en doutez lol).

En fait j'ai crée un userform dans lequel j'ai disposé une quinzaine de textboxs et je voudrais, lorsque je clique sur le bouton valider, que l'ensemble des données contenues des données se copie dans une colonne (l'ordre ne m'inporte peu).

J'avais fait un truc du style ci-dessous, mais je n'arrive pas à trouver la commande qui permet de copier l'ensemble des données :

If Me.nchambre.value = "402" Then
' Mise en place des valeurs saisies
Sheets("donnees").Range("r100").End(xlUp).Offset(1, 0).value = Me.Controls en fait c'est ici que je souhaiterais pouvoir indiqué que je veux copier toutes les données
Unload Me
Exit Sub
End If

Quelqu'un aurait-il une petite idée sur comment je pourrais faire ceci ?

Merci d'avance à tous.
 
Re : VBA - copier l'ensemble des valeur des txtbox

Bonjour,

Si tes textbox sont numéroté (textBox1 à TextBox15)
Pour les ranger en colonne
Code:
With Sheets("donnees").Range("r100").End(xlUp)
For i = 1 to 15
  .Offset(i)= Me.Controls("TextBox" & i)
Next i
End With

En Ligne:

Code:
With Sheets("donnees").Range("r100").End(xlUp)
For i = 1 to 15
  .Offset(1,i)= Me.Controls("TextBox" & i)
Next i
End With

A+
 
Re : VBA - copier l'ensemble des valeur des txtbox

Bonjour Mikam1660, bienvenue sur XLD

C'est facile si les TextBox sont bien nommées dans l'ordre : TextBox1 TextBox2...TextBox15 :

Code:
For i = 1 To 15
Sheets("donnees").Range("r100").End(xlUp).Offset(1) = Controls("TextBox" & i)
Next

Edit : salut Hasco, un peu en retard moi...

A+
 
Re : VBA - copier l'ensemble des valeur des txtbox

Bonjour,

Si tes textbox sont numéroté (textBox1 à TextBox15)
Pour les ranger en colonne
Code:
With Sheets("donnees").Range("r100").End(xlUp)
For i = 1 to 15
  .Offset(i)= Me.Controls("TextBox" & i)
Next i
End With

En Ligne:

Code:
With Sheets("donnees").Range("r100").End(xlUp)
For i = 1 to 15
  .Offset(1,i)= Me.Controls("TextBox" & i)
Next i
End With

A+



Merci beaucoup pour ton aide ca m'a bien aidé !!
@+
 
Re : VBA - copier l'ensemble des valeur des txtbox

Bonjour Mikam1660, bienvenue sur XLD

C'est facile si les TextBox sont bien nommées dans l'ordre : TextBox1 TextBox2...TextBox15 :

Code:
For i = 1 To 15
Sheets("donnees").Range("r100").End(xlUp).Offset(1) = Controls("TextBox" & i)
Next

Edit : salut Hasco, un peu en retard moi...

A+

Merci aussi bcp à toi, ton code hyper simple m'a été d'une grande utilité !
@+
 
Re : VBA - copier l'ensemble des valeur des txtbox

bonjour tous. dans ce ca precis je l'écrirais comme cela .value a la fin si pas numerique ne pose pas pb..mais si numerique souci.si on veut exploiter les donnees "aprés" on supprime offset par (2) dans ce cas precis les crochets pose pas pb...

Code:
For i = 1 To 15
Sheets("donnees").[r1].End(xlUp)(2) = Controls("TextBox" & i).Value
Next
 
Dernière édition:
- 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
216
  • Question Question
Microsoft 365 Code VBA
Réponses
6
Affichages
644
Réponses
6
Affichages
842
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
482
Retour