Macro Excel - Afficher toute une liste

Résolu/Fermé
HiSo - 16 nov. 2010 à 10:21
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 - 16 nov. 2010 à 23:02
Bonjour à tous,

Je cherche une solution pour remplir toute une série de case avec un ensemble de données contenues dans une liste déjà présente dans le classeur mais sur une autre feuille.

Toutes les cases de la colonne concernée sont des listes qui me permettent de choisir un chiffre qui rempli le reste du tableau en fonction de ce même chiffre (attache à une matrice) et j'aurai besoin d'une macro CheckBox qui me permette de faire apparaître toute ma liste dans ce tableau d'un simple clic.

Merci d'avance

A voir également:

4 réponses

Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
16 nov. 2010 à 15:05
Bonjour,
Avez-vous un exemple, se serait plus explicite.
0
Exemple :

Sur ma feuille 1 j'ai un tableau. Sur ma feuille 2 j'ai une liste de chiffres (pour l'exemple 1 à 15).

Dans le tableau de la première feuille, De C2 à C16 j'ai créé des listes à partir de ma série de chiffre de la feuille 2 afin de pouvoir afficher les chiffres dans n'importe quel ordre.

Je souhaiterais trouver une macro pour pouvoir afficher/masquer tous les chiffres de ma liste d'un simple clic (Dans une CheckBox par exemple) sur la base d'un chiffre par case donc C2 = 1 / C3 = 2 / C4 = 3 etc.....

J'ai trouvé une macro mais elle nécessite de rentrer chaque ligne avec chaque valeur. Cependant, étant donné que pour mon porjet j'ai près de 500 chiffres j'aimerais savoir si une formule plus simple existe.
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
Modifié par Le Pingou le 16/11/2010 à 16:01
Bonjour,
Votre poste a le statut [Résolu], que doit on faire !.
En plus votre deuxième explication est aussi incompréhensible pour moi que la première.
Au passage, pouvez-vous mettre une copie de cette macro ?
Salutations.
Le Pingou
0
Pour le statut [Résolu] C'est ma faute, j'ai cliqué sur le mauvais lien dans le mail...

Voici la macro que j'ai utilisé (sur une base d'un échantillon de 6 lignes)

Exemple :

Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then
Range("C8").Select
ActiveCell.FormulaR1C1 = "1"
Range("C9").Select
ActiveCell.FormulaR1C1 = "2"
Range("C10").Select
ActiveCell.FormulaR1C1 = "3A"
Range("C11").Select
ActiveCell.FormulaR1C1 = "3B"
Range("C12").Select
ActiveCell.FormulaR1C1 = "4"
Range("C13").Select
ActiveCell.FormulaR1C1 = "5"

Else
Range("C8").Select
ActiveCell.FormulaR1C1 = ""
Range("C9").Select
ActiveCell.FormulaR1C1 = ""
Range("C10").Select
ActiveCell.FormulaR1C1 = ""
Range("C11").Select
ActiveCell.FormulaR1C1 = ""
Range("C12").Select
ActiveCell.FormulaR1C1 = ""
Range("C13").Select
ActiveCell.FormulaR1C1 = ""

End If

End Sub



Cela dit, je me vois mal faire ça pour les 500~ chiffres que j'ai à rentrer... Donc s'il existe une macro pour m'éviter de faire tout manuellement ou alors peut être de prendre directement en compte la base de donnée de ma liste (située dans la deuxième feuille) pour remplir toutes les cases de mon tableau dans l'ordre.
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
16 nov. 2010 à 16:23
Bonjour,
Merci pour l'information.
Toutefois la procédure n'a aucun sens sans le contexte, qui n'est toujours pas clair, car elle ne fait que renseigner des cellules d'une feuille sans savoir de quelle feuille il s'agit ; selon la valeur Vrai ou Faux d'une case à cocher.
Mettez donc votre fichier sur https://www.cjoint.com/ et poster le lien
0
http://cjoint.com/data/0lqqPe8zaCW.htm <= Tableau Récap

http://cjoint.com/data/0lqqPNcLgLi.htm <= (Matrice Liste des rues)

http://cjoint.com/data/0lqqPzYXNHA.htm <= (Matrice Chiffrage)

Le fichier sur lequel se trouve la macro que j'essaye de faire est le premier (Tableau Récap). Les deux autres sont les matrices contenant les valeurs et noms.
0
Je répond avant une éventuelle nouvelle réponse, il me semble avoir trouvé une solution.

J'ai fais une boucle simple :

Private Sub CheckBox6_Click()
If CheckBox6.Value = True Then

j = 8
For i = 3 To 8

k = Sheets(2).Cells(i, 3)
Sheets(1).Cells(j, 3).Value = k
j = j + 1
Next

Else
For l = 8 To 13
Sheets(1).Cells(l, 3) = ""
Next

End If

End Sub

Et ça fontionne !

Merci en tous cas Le Pingou d'avoir pris le temps de suivre mon problème ! Si jamais tu as une meilleure solution en tête je suis toujours preneur mais dans le cas présent j'ai ce qu'il me faut de "simple"
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
16 nov. 2010 à 23:02
Bonjour,
Merci pour les informations.
J'ai parcouru vos fichiers et j'ai compris se que vous vouliez réaliser.
Comme cela fonctionne, je considère le poste résolu.
0