Récupérer les données de plusieurs colonnes en vb

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

W

Willy

Guest
Bonsoir le forum,

Je voudrais récupérer dans une listbox les données de plusieurs colonnes mais je ne sais pas comment le réaliser, j'arrive à récupérer les données d'une colonne mais pas de plusieurs.

j'ai préparé un petit exemple plus explicatif

merci pour vos idées et ou suggestions
bonne soirée
Willy
 

Pièces jointes

Re wally

c'est impect, sans ton aide je n'y serai pas arrivé car je ne connaissais pas certaines fonctions que tu as utilisés.

J'ai pu adapter à mon vrai tableau ( différent de l'exemple ) et cela fonctionne nickel.

Juste un bémol pour le moment dont je n'avais pas prévu :
En sélectionnant une année par ex 2005 j'obtient la liste des personnes admissible au nouveau grade pour 2005.
Mais je viens de remarquer qu'une personne admissible en 2004 n'est bien sur pas listée en 2005.

En fait je cherche maintenant le moyen d'afficher les personnes admissibles dans l'année sélectionnée mais aussi les personnes qui sont admissibles dans les années antérieures.
Si tu as une idée
Merci encore
Willy
 
Re Wally,

je viens encore t'embéter car j'ai une erreur avec mon tableau réel dont je ne m'explique pas !
j'ai décortiquer ton code mais je ne trouve pas de solution :

La seule différence du tableau d'exemple avec mon tableau réel est que les colonnes à traiter de F à M se trouvent de CK à CR.

Donc avec ton premier exemple de code traitant par année seulement, cela fonctionne très bien mais avec le code traitant de l'année dans le texbox à l'année dans le combobox, j'ai une erreur (13 - Incompatibilité de type !!).

j'ai fait quelques tests que je te livre :

Si je réduit le nombre de lignes à traiter du tableau, par ex au lieu de :
For Each oRge In .Range("CK2:CR" & .Range("CR65536").End(xlUp).Row)
je met :
For Each oRge In .Range("CK2:CR" & .Range("CR2000").End(xlUp).Row)

La je n'ai aucune erreur mais aucune donnée n'est affichée dans le listbox ???

J'ai alors supprimer les colonnes en plus pour me retrouver avec les colonnes à traiter en F à M comme au départ, cela fonctionne à nouveau sans erreur mais le temps de calcul est très long, le résultat s'affiche environ 2 à 3 secondes après avoir sélectionné l'année ???

La vraiment je sèche, le tableau est identique que l'exemple que tu avais ( d'ailleur c'est mon vrai tableau d'ou j'avais pour simplifier supprimer les colonnes )

j'ai vérifié au niveau des déclarations mais tout me semble correct

Willy
 
Bonjour Willy et le forum,

Je viens de faire un essai avec la version transmise vendredi dernier à 13h21, après y avoir ajouté des colonnes vides afin d'effectuer la recherche sur les colonnes CK à CR. Je n'ai pas rencontré de problèmes particuliers...

Cette version "spéciale" se trouve en pièce jointe. Pourrais-tu l'ouvrir et vérifier qu'elle fonctionne correctement chez toi également ?

D'autre part, il serait intéressant de savoir sur quelle ligne de code se produisait l'erreur 13 (Incompatibilité de type) mentionnée dans ton dernier message.


Slts

wally
 

Pièces jointes

Bonjour Wally,
je viens d'ouvrir ton fichier et je n'ai aucune erreur. Je doit m'absenter mais en rentrant je creuserai ce qui cloche avec ma feuille par rapport à celle que tu viens de me joindre.
Pour l'erreur, elle se produit dès que je sélectionne une année dans la listbox. Je t'en dirai un peu plus, plus tard
Bonne journée et merci encore
Willy
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour