Parcours ligne colonne recuperer donner avec liste deroulante d autre feuille

Signaler
Messages postés
27
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
19 juillet 2010
-
Messages postés
27
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
19 juillet 2010
-
bonjour j ai une question excel voila le probleme

j'ai deux feuil sur une ,j ai l'application principale , sur l autre des données

j'ai dans la feuil principale une liste deroulante qui a comme source le titre des colonnes de la seconde feuille

ce que je veux faire c est

si le titre est selectionné dans la liste , je parcours la colonne correspondant à ce titre en l excluant ( je commence la boucle a X2 x etant la colonne en question) je recupere le contenu dans un tableau et je l utilise ( je sais recuperer le contenu)

quelqu'un peu m aider j'ai du mal avec les parcours de ligne colonne et feuille en general en fait

10 réponses

Messages postés
27
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
19 juillet 2010

etant conscient que je ne vous ai rien montré voici l etat de la chose là
Sub parcourstab()
Sheets("Extract_Mail_ fichier_suivi ").Select
If Cells(10, 14) <> Null And Cells(10, 14) <> "" Then
    Dim titre As String
    Dim copy(1000) As Variant
    titre = Cells(10, 14)
    Sheets("Mise_en_forme").Select
    While "..." <> Null Or "..." <> ""
        If "..." = titre Then
            Dim Ligne As Integer
            For Ligne = 2 To 100 'Fait defiler les lignes jusqu'a la ligne 100
                If Cells(Ligne, 14).Value <> "" Then
                    ''Ici test si cellule de la colonne C est egale a "Bonjour"
                    copy(Ligne) = Cells(Ligne, 14).Value
                    MsgBox (copy(Ligne))
                    ''On remplace la valeur trouver par chaine vide.
                    ''Donc toutes les cellules de la colonne C ayant la
                    ''valeur "Bonjour" seront remplacées par chaine vide
                End If
            Next Ligne
        End If
    Wend
End If



End Sub



Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut

"une liste deroulante"
Sur une feuille ou sur une Userform (cas 1) ?
Si c'est sur une feuille, s'agit-il :
- (cas 2) d'une liste créée dans une cellule (Menu Données, Validation ...)
- (cas 3) d'un objet "Zone de liste déroulante" de la boîte à outils Contrôles

"une liste deroulante qui a comme source le titre des colonnes"
Comment ces données arrivent-elles dans ta liste ?
Par programme ou paramétrage ?

Pour le Cas 1 et le Cas 3, ces listes ont un évènement _Change.
Pour le Cas 2, il faudra passer par un filtrage dans Worksheet_SelectionChange

Avant de continuer, donne-nous les infos

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Désolé, j'ai fait autre chose entre ta question et le début de mes questions, je n'ai pas vu ton complément.
Question suivante : Quel est le rapport entre ton code et la question, je suis un peu perdu ?
Messages postés
27
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
19 juillet 2010

le rapport c est que je veux faire le parcours de la ligne là ou il y a les ... et pour la liste deroulante je l ai fait avec un nommage de la colonne A de l autre feuil et en effectuant validation puis source et en mettant le nom en question
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
Personnellement, je ferai un tout petit peu différemment.
Tu as un titre dans ta feuille 1 qui correspond à une colonne dans ta feuille 2.
Je créerai donc une zone de nom dans la feuille 2 pour chaque colonne, avec comme nom le titre.
Comme ça, plus besoin de se préoccuper des coordonnées de tes colonnes, le nom suffira à avoir la colonne et les lignes.

Ensuite, tu défiles le contenu de la plage définie par la zone de nom et tu t'arrêtes dès que tu as une cellule vide (pas la peine de lire les milliers de lignes de la colonne).

Ca donnerait un truc du genre (pas testé) :

'Définition des variables
Dim Tableau() as Variant
Dim Feuille as Worksheet
Dim i as Integer
Dim Compteur as Integer

'Initialisation des variables
Set Feuille = worksheets("Feuille 2").Range(Worksheets("Feuille 1").Cells(10, 14).value)
Compteur = 0

'Boucle d'alimentation du tableau
for i = 2 to Feuille.rows.count
    if Feuille.cells(i,1).value ="" Then
        'Sortie de la boucle : fin de la colonne atteinte
        exit for
        else
        Redim Preserve Tableau(Compteur)
        Tableau(0) = Feuille.cells(i,1).value
        Compteur = COmpteur + 1
    end if
next i



A toi de faire ce que tu veux de ton tableau après.
Molenn
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
Oups !!
J'ai fait une erreur.
La variable Feuille as Worksheet n'est pas bonne.

C'est une variable de type Range qu'il faut mettre.

Molenn
Messages postés
27
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
19 juillet 2010

si j ai bien compris tu veux que je nomme la colonne elle meme mais est ce que je peux recuperer le titre des colonnes comme j ai recuperé la premiere ligne pour en faire sur l autre feuille une liste deroulante?
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
Bien sûr, tu peux faire toutes les zones de nom que tu veux, pointer sur toutes les plages de cellules que tu veux.

La zone de nom, c'est juste un "alias" qui désigne une plage de cellules, rien de plus.

Molenn
Messages postés
27
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
19 juillet 2010

d acc et tu peux m expliquer comment je fais dans ce cas pour creer cette liste alors? (puisque la source est multiple)
Messages postés
27
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
19 juillet 2010

dites vous m'avez oublié ...

j'ai reussi a avoir la liste avec les noms voulu en premiere ligne mais je ne parviens pas pour chaque colonnes correspondantes à récuperer le contenu de la colonne dont le titre est selectionné dans un tableau , c est tout ce que je veux et pour répondre à Molenn je prefere utiliser ma solution parce que sinon je n'aurais jamais ma logique et je serais assisté complet ce qui revient à ne rien comprendre au final ^^"