Soucis selection plage de cellule

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

Rocks02

XLDnaute Nouveau
Bonjour,
Je vous explique mon soucis, je voudrais suite à une entrée de données qui s'affiche dans une liste pouvoir selectionner la plage de donnée de 1 à 50 ou de 50 à 100 ... (suivant se que je demande dans la Combobox) afin de me l afficher sur mon userform.
J'ai fais un code qui fonctionne mais partiellement puisque si une sélection est déja faite, il ne fonctionne plus !
Pour être plus clair je vous montre mon exemple

Ce lien n'existe plus

ps: dsl pour le lien megaupload mais la taille était trop importante pour le site
 
Re : Soucis selection plage de cellule

Bonjour,

Je viens de télécharger ton fichier....

Je suppose que tu avais lu la charte, avant de le mettre en téléchargement...

Par ailleurs les macros évènementielles sur WorkBook_Open et Workbook_BeforeClose (ou Aut😵pen / Auto_Close), sont à éviter, on peut très bien montrer son problème sans avoir à faire subir quoique ce soit au lecteur, sinon on le signale clairement dans le post.

Donc, pour tous ceux que cette question intéresserait, je vous conseille de ne pas activer les macros, et de modifier les lignes de code situées dans l'Open et le BeforeClose de ce fichier....

A l'avenir, évite ces lignes, cela ne sert à rien....

Bonne journée
 
Re : Soucis selection plage de cellule

RE Rocks02,

Bonjour Rocks02, et bienvenue sur le site,

J'ai tenu compte des observations de bhbh qui sont des plus pertinentes (merci à lui, et amicales salutations).

Hormis cet aparté, et pour répondre à ta question, tu peux largement simplifier la programmation de ton fichier.

La feuille 'mem2' ne se justifie pas, tu peux la supprimer définitivement, du moins si elle n'a d'utilité que de récupérer les données correspondantes à ta liste déroulante.

La recherche peut (et doit) se faire directement à partir de la feuille 1. D'autre part, l'utilisation d'une boucle de lecture simplifie énormément l'élaboration du code. Voir ci-dessous ton code modifié dans le module UserForm5 :

Code:
Private Sub CommandButton1_Click()
    Unload Me
End Sub

Private Sub CommandButton2_Click()
With UserForm5
  lg = .ComboBox1.ListIndex * 50
  For tb = 1 To 50
    If lg = 0 Then lg = 1
    .Controls("TextBox" & tb).Text = Sheets("Feuil1").Range("B" & lg + 3)
    lg = lg + 1
  Next
End With
End Sub

Voilà à quoi se résume ton travail initial.

Pour apporter quelques précisions :

J'ai défini une variable de numéro de ligne (lg) qui est initialisée à la valeur de l'index de ComboBox1 et que je multiplie par 50 pour obtenir la ligne de départ. La numérotation des Index commençant à 0, j'ajoute une condition pour la mettre à 1 si elle est égale à 0 et j'ajoute 3 pour compenser le décalage des données sur la feuille 1.

Espérant avoir répondu.

Cordialement.
 
Re : Soucis selection plage de cellule

Re-,

Ton fichier, un peu allégé,...Un peu modifié...., un peu amélioré....

Plus besoin d'une deuxième feuille....

Tu peux ajouter ou retrancher autant de lignes que tu veux...

Cependant, reste maintenant à définir le pourquoi du comment d'autant de TextBoxs....

Si ce n'est que pour visualiser, je pense qu'une listview, ou une listbox ferait très bien l'affaire...

Bon apprentissage du VBA

Edit, bonjour Papou, pas tout à fait la même syntaxe, j'ai supprimé sa Rowlist du Combobox (méthode que je n'aime pas, je préfère les AddItem, bien plus fiables....)

Bonne soirée
 

Pièces jointes

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

Retour