Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Petit problème pour remplir textbox sous condition

donpopo

XLDnaute Occasionnel
Bonjour le forum,

J'ai une feuille avec des données et en 1ère ligne, j'ai des nombres à partir de la colonne 4.

Je souhaiterais remplir 10 textbox numérotées par 10 de 10 à 100 dans cet ordre. (Textbox10, Textbox20,...)
Cela en commençant par la dernière colonne remplie jusqu'à la colonne 4.
Je trouve bien la dernière colonne remplie, mais je n'arrive pas à remplir mes textbox.

Voici ce que j'ai écris:

VB:
DerCol = Sheets("Indexations").Cells(1, Columns.Count).End(xlToLeft).Column
       
       ' MsgBox DerCol
       
        For Colonne = DerCol To 4
            For lig = 1 To 10
                Me("TextBox" & lig * 10) = .Cells(1, Colonne).Value
            Next lig
        Next Colonne

Merci d'avance Donpopo
 
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Bonjour,
Non testé car pas de fichier exemple
il manquait step-10 qui compte de 10 en 10
Bruno
VB:
DerCol = Sheets("Indexations").Cells(1, Columns.Count).End(xlToLeft).Column

        For Col = DerCol To 4 step -10
                Me("TextBox" & col) = .Cells(1, Col).Value
        Next Col
 

donpopo

XLDnaute Occasionnel
Bonjour,
Merci pour la proposition.
Je joins mon fichier afin d'espérer être plus clair.
En fait j'ai un userform "Form_Histor_Loyer" que je désire remplir d'après les renseignements de la feuille "Indexations" comme suit:
Sur le userform, je sélectionne le bail en question; je devrais faire apparaitre le nom du locataire, l'appartement et la résidence.

Pour m'aider, lors de la conclusion d'un bail, je mets en mémoire sur la feuille "Baux" le numéro de ligne du locataire et du bien repris dans leur propre feuille.

Ensuite, je désirerais remplir le userform avec les données propres au bail sélectionné; c'est à dire en commençant à partir la colonne 4 (celles commençant par une date) jusque ...
Je peux avoir 5 colonnes remplies comme 25, par exemple. Mais je ne veux remplir qu'avec maximum les dix (ou moins) dernières colonnes. En ayant toujours la colonne la plus lointaine dans le 1er textbox10

Exemple:
Mes colonnes:
colonne D 2019
colonne E 2020
colonne F 2021

mon userform:
Textbox10 = colonne F
Textbox20 = colonne E
Textbox30 = colonne D, etc. si il y plusieurs autres colonnes.

Mon fichier possède assez bien de procédures pas toujours très logiques, mais bon, je suis assez novice en VBA.
J'apprends par essai et erreur et aussi grâce à vous tous.

Merci d'avance,
Georges
 

Pièces jointes

  • ESSAI.xlsm
    449.9 KB · Affichages: 10

youky(BJ)

XLDnaute Barbatruc
Hello,
Voici le bout de code à recopier au même emplacement
Bruno
VB:
 DerCol = Sheets("Indexations").Cells(1, Columns.Count).End(xlToLeft).Column
        n = 10
        If DerCol > 14 Then DerCol = 14 'limiter à 10
        For col = DerCol To 4 Step -1
                Me.Controls("TextBox" & n) = .Cells(1, col).Value
                n = n + 10
        Next col
 

youky(BJ)

XLDnaute Barbatruc
Oups!
j'avais pas vu pour le reste
Voici le code
Bruno
Code:
 DerCol = Sheets("Indexations").Cells(1, Columns.Count).End(xlToLeft).Column
        n = 10
        If DerCol > 14 Then DerCol = 14 'limiter à 10
        For col = DerCol To 4 Step -1
         Me.Controls("TextBox" & n) = .Cells(1, col).Value
        For lig = Nr_Lign_Index To Nr_Lign_Index + 6
         n = n + 1
                Me.Controls("TextBox" & n) = .Cells(lig, col).Text
        Next
        n = n + 3
        Next col
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…