XL 2021 EXCEL IMPORTER du texte de plusieurs fichier en 1 fichier

Cesoircestmath

XLDnaute Nouveau
Bonjour,



Je souhaite regrouper en 1 tableau, les données de 3000 fichiers qui sont construit à l'identique dans 1 seul fichier.


Sachant que :

- Tout mes fichiers sont dans le même dossier
- Pour chaque cellules, j'ai des contraintes du types : extraire les éléments après la chaine de caractère " : ".
- Le but étant d'avoir mes informations de la sorte : Ligne 1 : Donnée de mon fichier 1 avec colonne A ( Extraction de la chaine de caractère de la case A3 après les ":" ; Colonne B : Extraction du texte de la case A5 ainsi de suite.

J'ai réussi avec un lien Hypertexte de récupérer les éléments de la forme suivante :

=STXT('"Common\production\feuilles de reglage production 3\[1024 IJC25S.xlsx]fICHE'!$A$3" ;TROUVE(":";'Common\production\feuilles de reglage production 3\[1024 IJC25S.xlsx]fICHE'!$A$3 ;1)+1;10)



mais dés que j'essaye de la façon suivante :
=STXT(LIEN_HYPERTEXTE(B28);TROUVE(":";LIEN_HYPERTEXTE(B28);1)+1;10)

J'obtiens une erreur de valeur :(

Si j'arrive a suppr l'erreur en redirigeant vers mes liens hypertexte. Je pourrai m'en sortir tout seul.... ( J'ai les 3000 liens hypertextes)

Je pourrai le faire en VBA mais pas les compétences pour y arriver.

Des idées ?

Cdt,

Cesoircestmath
 

nat54

XLDnaute Barbatruc
Bonjour,

Je ne m'y connais pas trop en VBA mais je garde les codes créés au fur et à mesure pour mon usage, souvent grâce à l'aide de ce forum.

Je pense qu'il faut importer les données brutes et ensuite seulement extraire les éléments.

Pour consolider x fichiers identiques j'avais conservé ce code


VB:
Sub Consolider_CC_réalisé()

Application.ScreenUpdating = False   ‘ne pas voir ce qui se passe à l’écran
Application.DisplayAlerts = False

Dim n As Integer

Workbooks.Open ("U:\PUBLIC\DOTC\DFI\CGC\Nathalie\Cockpit\Cc\CC réalisé.xls") 'ouvrir fichier de réception (synthèse)

ThisWorkbook.Activate

Sheets("Fichiers_CC").Select
mois = Sheets("param").Range("D10").Value  ‘choix du mois
rep = Range("b2").Value & mois & "\"  ‘sélection du répertoire avec mois choisi
Sheets("regate").Select
Range("d2").Activate
regate = ActiveCell.Value

Do While ActiveCell.Value <> ""  ‘boucler tant qu’il y a un code regate

 If ActiveCell.Offset(0, 1).Value = "Présent" Then ‘si le fichier est présent dans le répertoire
        
        ordre = ActiveCell.Offset(0, -3).Value  ‘garde en mémoire n° ordre de l’établissement
        Workbooks.Open (rep & "CC-" & regate & ".xls") ‘ouvre le fichier du code regate correspondant
        n = Sheets().Count  ‘compte le nb d’onglets dans le fichier ouvert
            
For i = 1 To n   
Sheets(i).Select
Range("C5:N5").Copy  ‘copie plage voulue
onglet = ActiveSheet.Name  ‘variabiliser nom onglet
Workbooks("CC réalisé.xls").Activate  ‘aller sur fichier synthèse
Sheets(onglet).Select  ‘sélectionner onglet correspondant à la copie
Range("E" & ordre + 3).PasteSpecial xlPasteValues  ‘colonne Eordre + 3 car 3 colonnes déjà remplies
Workbooks("CC-" & regate & ".xls").Activate  ‘retourner sur fichier CC
Next i  ‘répéter l’opération pour l’onglet suivant jusqu’au dernier onglet
Workbooks("CC-" & regate & ".xls").Close  ‘fermer le fichier CC
ThisWorkbook.Activate
ActiveCell.Offset(1, 0).Activate  ‘aller à la ligne suivante
regate = ActiveCell.Value    ‘prendre le regate (le 2ème en fait)
        
    Else   ‘si le fichier n’est pas présent
        ActiveCell.Offset(1, 0).Activate   ‘aller à la ligne suivante
        regate = ActiveCell.Value
    End If

Loop 
Workbooks("CC réalisé.xls").Save    ‘sauvegarder fichier de synthèse
Workbooks("CC réalisé.xls").Close    ‘fermer fichier de synthèse

Application.ScreenUpdating = True   ‘réactiver vision écran
Application.DisplayAlerts = True             
End Sub
 

Cousinhub

XLDnaute Barbatruc
Bonjour,
Je pense que le plus simple serait d'utiliser Power Query...
A partir du Ruban Données, tu cliques sur Obtenir des données/A partir d'un Fichier/A partir d'un dossier
1687423258679.png

Tu sélectionnes ton répertoire, puis tu cliques sur "Transformer les données"
Une fois l'éditeur Power Query affiché, tu cliques sur la double flèche vers le bas de la 1ère colonne (Content)
1687423457079.png

Et tu te laisses guider...
Bon courage (et tu verras, c'est hyper puissant)
Si tu n'y arrives pas, tu reviens avec 1 ou 2 fichiers anonymisés, mais avec la structure exacte (quelques lignes suffisent)
 
Dernière édition:

Cesoircestmath

XLDnaute Nouveau
Merci de vos conseils,


Malheureusement je n'arrive pas à m'en sortir. Ci joint un exemple de 2 fichiers. En jaune les cases ou je veux extraire mes données et en rouge le texte ou chiffre que je veux extraire. Sachant qu'il est possible que les cases soit vides ou non....
merci pour l'aide !
 

Pièces jointes

  • Exemple 1.xlsx
    13.5 KB · Affichages: 3
  • Exemple 2.xlsx
    13.6 KB · Affichages: 3

Cousinhub

XLDnaute Barbatruc
Re-,
Ouf, ça ne va pas être simple du tout....
Je vais essayer, mais sans garantie de résultats...
Tu pourrais mettre également un fichier type de récupération de toutes ces données (pour voir le format que tu souhaites) et y insérer les données de ces 2 fichiers exemples?
 

Cesoircestmath

XLDnaute Nouveau
yes, merci de ton aide.
Ci-joint le fichier type !

J'ai réaliser un formulaire VBA qui vient incrémenter ce tableau pour avoir un historique de données et pouvoir les récupérer facilement mais forcément on doit récupérer les données des anciens fichiers !
 

Pièces jointes

  • Type_recup_donnée.xlsx
    10.1 KB · Affichages: 4

Cousinhub

XLDnaute Barbatruc
Re-,
Ouh là, t'emballes pas...:cool:
Dans tes fichiers exemple, tu as des "X5" en rouge derrière les pressions de maintien... (Cellules C21 et D22). Kesako?
Et tu mets en jaune "Eau froide partout" (cellule F24), et tu mets cette info dans "Observations" (qui devrait correspondre au contenu de la cellule A27 : Fabrication avec robot)
Tu mets 10 colonnes de Maintien, la ligne Total (A25) ne sert donc à rien?
Dans quel ordre remplir ces colonnes (5 premières verticales (B21 à B25) puis C21 à C25)?
Tu parles de "Préchauffeur" "Oui/Non" : Elle est où l'info?
Plus quelques autres incohérences dans les 3 fichiers...
Bref, je t'ai demandé juste un petit truc, et t'arrives pas à me donner quelque chose de cohérent...
Tu pourrais mettre également un fichier type de récupération de toutes ces données (pour voir le format que tu souhaites) et y insérer les données de ces 2 fichiers exemples?
L'informatique en général, Excel tout particulièrement, demande un peu de rigueur...
Donc, si on veut quelque chose de cohérent, peux-tu :
- Joindre un fichier à importer (un des 3000) entièrement rempli (toutes les valeurs à éventuellement récupérer)
- Et un fichier "Recup", avec toutes ces données réparties dans ce fichier de synthèse.
Bonne apm
 

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 234
Membres
103 162
dernier inscrit
fcfg