Ranger valeur TextBox si non vide

Résolu/Fermé
thesentry Messages postés 874 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 - Modifié par thesentry le 11/02/2014 à 10:59
thesentry Messages postés 874 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 - 11 févr. 2014 à 15:18
Bonjour,

J'ai plusieurs textbox sur un USF. Certaines TextBox doivent être obligatoirement remplies, d'autres non.

Je souhaiterais ranger sur la ligne 1 de ma feuille Excel les données des textbox non vides.

J'ai essayé avec ça :

Private Sub CommandButton1_Click()
Dim X As Variant

X = ""

For i = 1 To 10
If UserForm1.Controls("TextBox" & i).Value <> "" Then
UserForm1.Controls("TextBox" & i).Value = X
Sheets("Feuil1").Range("Z1").End(xlToLeft).Offset(0, 1).Value = X
X = ""
End If
Next i
End Sub

mais je n'ai pas ce que j'attendais, toutes mes textboxs se vident et rien ne s'enregistre sur ma feuille...

Une idée ? Merci


2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
11 févr. 2014 à 11:11
Bonjour,

ira mieux comme cela:

Private Sub CommandButton1_Click()
Dim X As Variant
For i = 1 To 10
If UserForm1.Controls("TextBox" & i).Value <> "" Then
Sheets("Feuil1").Range("Z1").End(xlToLeft).Offset(0, 1).Value = UserForm1.Controls("TextBox" & i).Value
End If
Next i

End Sub
0
thesentry Messages postés 874 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
11 févr. 2014 à 12:11
Super ! Merci !
0
thesentry Messages postés 874 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
11 févr. 2014 à 12:31
Euh... Re

Maintenant, j'ai tous sur ma ligne 1 de ma cellule Excel

J'aimerais faire apparaître, dans une autre textbox, une synthèse composé comme suit :

Sheets("Feuil1").Range("A1").Value & vbCrLf _
Sheets("Feuil1").Range("B1").Value & vbCrLf _
Sheets("Feuil1").Range("C1").Value & vbCrLf _
Sheets("Feuil1").Range("D1").Value & vbCrLf _
Etc...

Mais je ne peux pas écrire cela comme ça puisque la longueur de la ligne dépend de ce qui a été saisi par l'utilisateur. Donc il faut que je généralise ça.

Un gros, une commande qui lise de droite à gauche, jusqu'à DerCelluleRemplie et m'affiche tout en retournant à la ligne à chaque fois
0
thesentry Messages postés 874 Date d'inscription dimanche 31 janvier 2010 Statut Membre Dernière intervention 22 février 2020 16
11 févr. 2014 à 15:18
Réussi.
0