IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Récupérer valeurs avec un filtre [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 55
    Points
    55
    Par défaut Récupérer valeurs avec un filtre
    Bonjour,
    J'ai un fichier Excel avec une centaine de feuille. Chaque feuille contient 2 colonnes A et B. J'aimerais créer une nouvelle feuille au tout début du fichier qui contiendrait en ligne les noms de toutes les feuilles et seules les valeurs de la colonnes B qui correspondent à une valeur de la colonne A commançant par un caratère précis "XXXX".

    D'avance merci !
    Bonne soirée.

  2. #2
    Membre actif Avatar de L'Albatros
    Homme Profil pro
    Chercheur en économie - statistique
    Inscrit en
    Avril 2012
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en économie - statistique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 150
    Points : 239
    Points
    239
    Par défaut
    Je n'ai pas le temps de faire une réponse très élaborée, mais 3 trucs me sont venus à l'esprit en lisant votre post:

    • Boucle For Each worksheet 'pour parcourir l'ensemble des feuilles du classeur
    • Création d'une nouvelle feuille: tester avec l'enregistreur de macros
    • La condition sur le caractère précis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("A" & Compteur_Colonne) Like "XXXX*" Then
    Je reviens tout à l'heure pour terminer

    '-----------------------------------------------------------------------
    Si j'ai pu vous aider, merci de me le dire avec 1 pouce vert

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    J'ai commancé avec ce code mais je ne vois pas ou je dois inserer la condition "like A="XXXXX"...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub Lancer_Click()
     
    Dim Ws As Worksheet
    Dim i As Integer
     
    Set Ws = Sheets.Add(before:=Sheets(1))
     
     
    For i = 2 To Worksheets.Count
      Worksheets(i).Range("B:B").Copy
     
      With Ws
      .Name = "Resultat"
      .Cells(i, 2).PasteSpecial Paste:=xlPasteValues
      End With
         Ws.Cells(i, 1).Value = Worksheets(i).Name
         Next i
     
     
    Set Ws = Nothing
     
    LOL.Hide
     
    End Sub
    Merci pour votre aide

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    J'ai trouvé comment ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Dim Ws As Worksheet
    Dim i,j As Integer
    Dim NoCol As Integer
    Dim NoLig As Long, Var As Variant
     
    Set Ws = Sheets.Add(before:=Sheets(1))
     
      With Ws
      .Name = "Resultat"
       End With
    j = 1
    For i = 3 To Worksheets.Count
    Ws.Range("A" & i - 1).Value = Sheets(i).Name
        NoCol = 3 'lecture de la colonne 3
        For NoLig = 1 To Split(Sheets(i).UsedRange.Address, "$")(4)
     
            If Sheets(i).Range("C" & NoLig).Value = "XXXXX" Then
            Ws.Range("B" & i - 1).Value = Sheets(i).Range("C" & NoLig).Value
            Ws.Range("C" & i - 1).Value = Sheets(i).Range("F" & NoLig).Value
     
            End If
        Next
     
    Next i
     
    Set Ws = Nothing

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2000] Récupérer valeurs avec délimiteurs
    Par toukii dans le forum VBA Access
    Réponses: 6
    Dernier message: 10/02/2010, 09h42
  2. Récupérer une valeur avec un textarea
    Par Viau dans le forum Langage
    Réponses: 6
    Dernier message: 14/02/2006, 17h09
  3. Réponses: 6
    Dernier message: 27/12/2005, 13h48
  4. Récupérer valeurs d'un formu. avec une requête
    Par snoopy69 dans le forum Access
    Réponses: 1
    Dernier message: 06/12/2005, 15h40
  5. [VB.NET] [ODBC] Récupérer des valeurs avec requête ODBC?
    Par Pleymo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/03/2005, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo