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

Excel Discussion :

Extraire cellule B10 de plusieurs documents


Sujet :

Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2020
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Extraire cellule B10 de plusieurs documents
    Bonjour,
    je suis face à un dilemme. Je dois sortir une info de la cellule B10 de 460 documents différents. Ils sont tous enregistrés au même endroit.
    A-t-on un moyen simple et rapide pour le faire ? je n'ai pas vraiment le temps d'ouvrir chaque document.
    Pour le fichier final, il me faudra le nom du document (en A1 par ex) et dans la cellule à coté (en B1 par ex) la valeur de B10.

    Merci pour votre aide

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je ne vois pas d'autres solutions que d'utiliser une macro VBA pour faire une boucle sur les fichiers concernés.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2020
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Ok, je suis assez novice la dedans, auriez-vous une idée de ou trouver ce genre de VBA ? que j'adapte avec mes cellules ?

  4. #4
    Membre émérite
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 2 878
    Points
    2 878
    Par défaut
    Bonjour

    Je viens de vous bricoler vite fait le petit bout de code correspondant, je pense, à la demande :
    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
    28
    29
    30
    31
    32
    33
    Sub Extraire()
    Dim strDossier As String
    Dim strFichier As String
    Dim intLigEnCours As Integer
     
    intLigEnCours = 2 'ligne sur laquelle on commencera à écrire
    Cells(1, 1).Value = "Document"
    Cells(1, 2).Value = "Valeur"
     
     
    strDossier = "C:\Users\Pierre Dumas\Desktop\test" ' Le dossier à analyser
     
     
    strFichier = Dir(strDossier & "\*.xlsx", vbNormal) 'Nom du fichier
     
    Application.ScreenUpdating = False 'Empêche l'écran d'afficher tout ce qui se passe. Donc gagne du temps à l'exécution de la macro
     
    While strFichier <> "" ' Boucle sur tous les fichiers
        Workbooks.Open Filename:=strDossier & "\" & strFichier 'Ouvre le fichier
     
        strcellule = Range("B10").Value 'Récupère la valeur de la cellule B10 de la feuille en cours
     
        ActiveWorkbook.Close 'Ferme le fichier
     
        Cells(intLigEnCours, 1).Value = Left(strFichier, Len(strFichier) - 5) 'Inscrit le nom du fichier (moins les 5 derniers caractères correspondants à .xlsx) dans la colonne A
        Cells(intLigEnCours, 2).Value = strcellule 'Incrit le contenu de la cellule B10 dans la colonne B
     
        intLigEnCours = intLigEnCours + 1 'Augemente cette valeur de 1
     
        strFichier = Dir 'Fichier suivant
    Wend
    Application.ScreenUpdating = True 'Réactive la mise à jour de l'écran
    End Sub
    Cette macro ouvre tous les fichiers xlsx se trouvant dans le dossier strDossier. Elle présuppose aussi qu'il n'y a qu'une feuille par classeur.

    Pour mettre ce code dans un classeur, procéder comme suit :
    1/ Taper le raccourci clavier suivant : Alt + F11 (ce qui a pour effet d'ouvrir une nouvelle fenêtre : celle de Microsoft Visual Basic pour Applications)
    2/ Vous devriez voir le nom de votre classeur entre parenthèses dans le volet de gauche précédé de VBAProject. Faire un clic droit > Insertion > Module
    3/ Vous devriez voir une nouvelle fenêtre toute blanche qui s'ouvre dans la partie droite. Copier / coller tout le code ci-dessus (depuis Sub jusqu'à End Sub)
    4/ Changer ce qui entre les guillemets sur la ligne 12 (qui commence par strDossier =)
    5/ Vérifier s'il y a d'autres choses à modifier
    6/ lancer la macro en appuyant sur le raccourci clavier F5

    En espérant que cela aide.

    Bonne journée

    Pierre Dumas
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2020
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci à vous

    je vais essayer ca, ca m'aiderai grandement

  6. #6
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2020
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Au top !!
    merci infiniment, ca fonctionne et je gagne un temps précieux.
    Encore merci.
    Bonne journée à vous

  7. #7
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2020
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour, encore moi je rouvre pour un détail.
    J'ai juste encore une petite question pour compléter la macro.
    Comme ajouter l'extraction d'une ou plusieurs cellule ? par exemple de B10 à B13 ?

    merci à vous

  8. #8
    Membre émérite
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 2 878
    Points
    2 878
    Par défaut
    Bonjour

    Sans changer radicalement le code proposé, je vous propose de dupliquer la ligne 21 strcellule = Range("B10").Value autant de fois que nécessaire.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    strcellule1 = Range("B10").Value
    strcellule2 = Range("B11").Value
    strcellule3 = Range("B12").Value
    strcellule4 = Range("B13").Value
    Puis, dupliquer la ligne 26 Cells(intLigEnCours, 2).Value = strcellule autant de fois que nécessaire.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Cells(intLigEnCours, 2).Value = strcellule1
    Cells(intLigEnCours, 3).Value = strcellule2
    Cells(intLigEnCours, 4).Value = strcellule3
    Cells(intLigEnCours, 5).Value = strcellule4

    Voilà, je pense que cela conviendra

    Bonne journée

    Pierre Dumas
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  9. #9
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2020
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Top
    merci à vous, j'avais essayé mais il me manquait les numéros après "strcellule"

    merci pour votre aide.

    Bonne journée à vous

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

Discussions similaires

  1. Extraire cellule spécifique et lignes de plusieurs feuilles
    Par julienlam dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 12/02/2015, 14h05
  2. Réponses: 0
    Dernier message: 28/11/2011, 23h41
  3. extraire une partie d'un document rtf
    Par yac dans le forum Oracle
    Réponses: 12
    Dernier message: 08/01/2006, 10h44
  4. plusieurs document.write dans une meme page
    Par Loko dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/07/2005, 17h16
  5. [XSLT]select sur plusieur documents XML
    Par jesus144 dans le forum XMLRAD
    Réponses: 3
    Dernier message: 15/06/2005, 10h56

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