XL 2019 Text box VBA

PRUDHOMME12

XLDnaute Nouveau
Bonjour à tous
Novice en VBA, je cale sur comment remplir 3 lignes différentes avec 3 textbox. Ci-joint le fichier test
Merci à tous pour vos réponses
 

Pièces jointes

  • test1.xlsm
    12.4 KB · Affichages: 12

soan

XLDnaute Barbatruc
Inactif
Bonjour PRUDHOMME12,

bienvenue sur le site XLD ! :)

ton fichier en retour.

* fais Ctrl e ➯ affichage du formulaire UserForm1

* saisis le texte de ton choix dans les 3 TextBox, puis clique sur le bouton OK
➯ le texte des 3 TextBox est placé sur 3 lignes différentes, en A1 ; A2 ; A3

* supprime le texte des 3 TextBox, puis clique sur le bouton OK
➯ ça efface les 3 cellules A1 ; A2 ; A3



code VBA de Module1 (pour afficher le formulaire) :

VB:
Sub ShowForm()
  UserForm1.Show
End Sub



code VBA de UserForm1 :

VB:
Option Explicit

Private Sub cmdOK_Click()
  Dim chn$
  chn = TextBox1: [A1] = IIf(chn = "", Empty, chn)
  chn = TextBox2: [A2] = IIf(chn = "", Empty, chn)
  chn = TextBox3: [A3] = IIf(chn = "", Empty, chn)
End Sub

si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. ;)

soan
 

Pièces jointes

  • test1.xlsm
    16.6 KB · Affichages: 3

PRUDHOMME12

XLDnaute Nouveau
Bonjour PRUDHOMME12,

bienvenue sur le site XLD ! :)

ton fichier en retour.

* fais Ctrl e ➯ affichage du formulaire UserForm1

* saisis le texte de ton choix dans les 3 TextBox, puis clique sur le bouton OK
➯ le texte des 3 TextBox est placé sur 3 lignes différentes, en A1 ; A2 ; A3

* supprime le texte des 3 TextBox, puis clique sur le bouton OK
➯ ça efface les 3 cellules A1 ; A2 ; A3



code VBA de Module1 (pour afficher le formulaire) :

VB:
Sub ShowForm()
  UserForm1.Show
End Sub



code VBA de UserForm1 :

VB:
Option Explicit

Private Sub cmdOK_Click()
  Dim chn$
  chn = TextBox1: [A1] = IIf(chn = "", Empty, chn)
  chn = TextBox2: [A2] = IIf(chn = "", Empty, chn)
  chn = TextBox3: [A3] = IIf(chn = "", Empty, chn)
End Sub

si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. ;)

soan
Merci soan pour ta réponse rapide ça fonctionne super.
Je vais t'embêter un peu plus j'aimerai faire la même chose mais en activcell pour pouvoir remplir n'importe quelle cellule.
 

soan

XLDnaute Barbatruc
Inactif
@PRUDHOMME12

la cellule active est A1 ; sélectionne n'importe quelle cellule, par exemple C5 ; fais les mêmes manips que précédemment ➯ ça fait pareil, pour la cellule active et les 2 autres cellules situées juste dessous. :)

code VBA de Module1 : inchangé ; nouveau code VBA de UserForm1 :

VB:
Option Explicit

Private Sub cmdOK_Click()
  Dim chn$, lig&, col%
  lig = ActiveCell.Row: col = ActiveCell.Column
  With Cells(lig, col)
    chn = TextBox1: .Value = IIf(chn = "", Empty, chn)
    chn = TextBox2: .Offset(1) = IIf(chn = "", Empty, chn)
    chn = TextBox3: .Offset(2) = IIf(chn = "", Empty, chn)
  End With
End Sub

soan
 

Pièces jointes

  • test1.xlsm
    17.1 KB · Affichages: 7

PRUDHOMME12

XLDnaute Nouveau
@PRUDHOMME12

la cellule active est A1 ; sélectionne n'importe quelle cellule, par exemple C5 ; fais les mêmes manips que précédemment ➯ ça fait pareil, pour la cellule active et les 2 autres cellules situées juste dessous. :)

code VBA de Module1 : inchangé ; nouveau code VBA de UserForm1 :

VB:
Option Explicit

Private Sub cmdOK_Click()
  Dim chn$, lig&, col%
  lig = ActiveCell.Row: col = ActiveCell.Column
  With Cells(lig, col)
    chn = TextBox1: .Value = IIf(chn = "", Empty, chn)
    chn = TextBox2: .Offset(1) = IIf(chn = "", Empty, chn)
    chn = TextBox3: .Offset(2) = IIf(chn = "", Empty, chn)
  End With
End Sub

soan
merci soan
c'est exactement ce que je voulais. c'est super
A bientôt sur excel dowloads
 

Membres actuellement en ligne

Statistiques des forums

Discussions
313 997
Messages
2 104 363
Membres
109 009
dernier inscrit
BLONDINTHEONE