Utiliser la valeur rentrer dans une textbox dans une macro

timon

XLDnaute Nouveau
Bonjour à tous,

J'utilise souvent cette macro de Robert qui rempli les cellules vide des colonnes A&B :

Code:
Sub Macro1()
 Dim cel As Range 'déclare la variable cel
 'boucle sur toutes les cellules des colonnes A et B
 For Each cel In Range("A2:B" & Range("D65536").End(xlUp).Row)
     'si la cellule est vide, elle prend la valeur de la cellule du dessus
     If cel.Value = "" Then cel.Value = cel.Offset(-1, 0).Value
 Next cel 'prochaine cellule des colonnes A et B
 End Sub

Etant donnée qu'elle me sert très souvent mais que les colonnes à modifier peuvent changer j'ai fait un Userform avec des textbox pour qu'en fonction de ces textbox la macro s'applique a tel ou tel colonne.
J'ai essayer de remplacer "A2:B" par "textbox1.value:textbox2.value" sans succès.
Je peux effectivement changer cela dans le code directement mais étant donnée que je l'utilise beaucoup j'essaie de créer un XLA pour l'avoir toujours à porter de main.

Voila voila je vous remerci d'avance pour votre aide !!
 

camarchepas

XLDnaute Barbatruc
Re : Utiliser la valeur rentrer dans une textbox dans une macro

Bonjour Timon,

Donc si l'on prend pour hypothése que dans textbox1 l'on a une lettre indiquant la colonne, dans textbox2 une autre lettre indiquant la colonne de fin , il faut également préciser la colonne contenant toujours une info afin de calculer la dernière ligne l'on pourrait employer une textbox3 par exemple (Sinon changer de formule pour ce calcul)

voici donc :

Code:
Sub Macro1()
  Dim cel As Range 'déclare la variable cel
  'boucle sur toutes les cellules des colonnes A et B
  For Each cel In Range(textbox1.Text & "2:" & textbox2.Text & Range(textbox3.Text & "65536").End(xlUp).Row)
      'si la cellule est vide, elle prend la valeur de la cellule du dessus
      If cel.Value = "" Then cel.Value = cel.Offset(-1, 0).Value
  Next cel 'prochaine cellule des colonnes A et B
  End Sub
 

timon

XLDnaute Nouveau
Re : Utiliser la valeur rentrer dans une textbox dans une macro

Bonjour,

Merci c'est nickel !!

J'ai deux petites questions en plus pour peaufiner la macro :
Comment je bloque la valeur rentrer dans les textbox (uniquement des lettres)?
Pour éviter d'avoir une troisième Textbox, comment je code textbox2 + 1lettre ?

Merci encore!!
 

camarchepas

XLDnaute Barbatruc
Re : Utiliser la valeur rentrer dans une textbox dans une macro

Timon
Pour les lettres

If Asc(Textbox2) < 65 Or Asc(Textbox2) > 90 Then MsgBox "Erreur"

et pour le décalage ( C'est risqué , il faut être sur que c'est toujours la vraie colonne de référence: comportant toujours un élément)

lettre3 = Split(Range(Textbox2 & 1).Offset(0, 1).Address, "$")(1)
 

Discussions similaires

Réponses
2
Affichages
153

Statistiques des forums

Discussions
312 234
Messages
2 086 467
Membres
103 226
dernier inscrit
smail12