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 :

Recherche d'une Plage de données correspondant à une chaine de caractères dans un classeur fermé !


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Recherche d'une Plage de données correspondant à une chaine de caractères dans un classeur fermé !
    Bonjour le forum,

    Tout est dans l'intitulé, j'arrive à réaliser cette fonction dans un classeur ouvert mais pas lorsqu'il est fermé. Pour être plus précis j'aimerais obtenir la plage de données contenant ma chaine de caractère. Par exemple j'ai des noms de bloc fonctionnel qui sont placés dans la colonne B, tel que Input Filter 80W 8V, mais cette derniere contient des informations jusqu'en L120 ( la plage : B8:L120). Je vous joins la fonction que j'ai faite pour un classeur ouvert:

    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
    Sub Copy()
     
    Dim MaRecherche_debut As Range
    Dim MaRecherche_fin As Range
    Dim Fin_colonne As Long
    Dim Plage_copie As Range
     
     
    With ThisWorkbook.Sheets("Feuil1").Cells
        Set MaRecherche_debut = .Find(What:="Input Filter", LookIn:=xlValues, SearchDirection:=xlNext)
    End With
     
    With ThisWorkbook.Sheets("Feuil1").Cells
        Set MaRecherche_fin = .Find(What:="Input Filter", LookIn:=xlValues, SearchDirection:=xlPrevious)
    End With
     
    'Debug.Print MaRecherche.Address
     
    Fin_colonne = MaRecherche_debut.End(xlToRight).Column
     
    Set Plage_copie = Range(MaRecherche_debut.Address, Cells(MaRecherche_fin.Row, Fin_colonne))
     
    Plage_copie.Copy Destination:=Worksheets("Feuil2").Range("E1")
     
    End Sub
    En espérant avoir été clair !

  2. #2
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    essaye de bricoler ça

    je l'avais fait pour extraire une valeur précise d'un classeur fermé
    tu peux tjrs faire une boucle

    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
     
    Private Function ExtraireValeur(ByVal Dossier As String, ByVal Fichier As String, ByVal feuille As String, ByVal cellule As String) As String
    Dim Argument As String
    On Error GoTo fin_extraire_valeur_erreur
        Argument = "'" & Dossier & "\[" & Fichier & "]" & feuille & "'!" & cellule
       ExtraireValeur = ExecuteExcel4Macro(Argument)
        If IsNumeric(ExtraireValeur) Then
            ExtraireValeur = Replace(ExtraireValeur, ",", ".")
        End If
        DoEvents
        GoTo fin_extraire_valeur
    fin_extraire_valeur_erreur:
        ExtraireValeur = "non trouve"
    fin_extraire_valeur:
    On Error GoTo 0
    End Function
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci d'avoir pris le temps de répondre,

    Dans ton cas tu récupères seulement la valeur d'une cellule d'un classeur fermé, dans le mien j'aimerais récupérer une plage de données correspondant à une recherche de texte.

    Pour faire plus simple autrement, est-possible d'effectuer un filtrage avancé depuis un classeur fermé et de copier les données sur un nouveau classeur?

    Personne n'a d'idées ?

Discussions similaires

  1. [XL-2010] sélection des données depuis une base de données depuis une autre feuille
    Par Learning everyday dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/11/2014, 10h14
  2. [XL-2002] Copie d'une plage de colonne vers une plage d'une autre colonne
    Par Canidé dans le forum Excel
    Réponses: 1
    Dernier message: 16/01/2014, 05h48
  3. Réponses: 14
    Dernier message: 23/04/2012, 22h32
  4. [OpenOffice][Tableur] [Macro] Comment copier une plage de données d'une Feuille "A" vers la Feuille Active
    Par clduick dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 03/02/2012, 11h39
  5. Visualiser une plage de données d'une Feuille
    Par BERRACHED SAID dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/01/2009, 12h30

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