Importation de données dans un fichier et recherche d'equiv pour copie.

Arno94

XLDnaute Nouveau
Bonjour, Bonjour,

Je cherche la méthode pour importer des données puis les répercuter sur un (ou deux) autre onglet en fonction d'une valeur commune.

Voila mon premiers bout de code (basé sur quelque poste du forum mais la je séche)


Sub test()

Dim classeurDestination As Workbook
Dim classeurSource As Workbook
Dim onglet As Worksheet
Dim plage As Range

Application.ScreenUpdating = False
Worksheets.Add after:=Sheets(Sheets.Count)

ActiveSheet.Move Before:=Sheets(1)
ActiveSheet.Name = "Données"

' On rempli de l'entête du tableau

Cells(2, 1).Value = "CODE_PIECE"
Cells(2, 2).Value = "CODE_PIECE_ANCIEN"
Cells(2, 3).Value = "NOM_USAGE"
Cells(2, 4).Value = "NOM_NORMALISE"
Cells(2, 5).Value = "NOM_USAGE"
Cells(2, 6).Value = "NOM_NORMALISE"
Cells(2, 7).Value = "SECTEUR_ACTIVITE"
Cells(2, 8).Value = "SOUS_SECTEUR_ACTIVITE"
Cells(2, 9).Value = "CODE_UG"
Cells(2, 10).Value = "CODE_UA"
Cells(2, 11).Value = "OCCUPANT_EXTERNE"
Cells(2, 12).Value = "CODE_POLE"
Cells(2, 13).Value = "SERVICE"
Cells(2, 14).Value = "DISPONIBILITE"
Cells(2, 15).Value = "ACCES_HANDICAPES"
Cells(2, 16).Value = "SURFACE"
Cells(2, 17).Value = "HSP"
Cells(2, 18).Value = "HSFP"
Cells(2, 19).Value = "VOLUME"
Cells(2, 20).Value = "RISQUE_LABORATOIRE"
Cells(2, 21).Value = "AMIANTE"
Cells(2, 22).Value = "NATURE_SOL"


Set classeurDestination = ThisWorkbook

' On demande le nom du fichier à ouvrir et on le note en A1
Cells(1, 1).Value = Application.GetOpenFilename("Fichier Excel (*.xls), *.xls")

'On ouvre le classeur choisi noté en A1
Set classeurSource = Application.Workbooks.Open(Cells(1, 1).Value, , True)


'copier l'onglet complet de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
'classeurSource.Sheets("S01").Cells.Copy classeurDestination.Sheets("Données").Range("A1")

'Pour chaque onglet de la collection "worksheets" du classeur source.

For Each onglet In classeurSource.Worksheets 'pour tous les onglets du classeur source

' sauf pour l'onglet MODE EMPLOI

If onglet.Name <> "MODE EMPLOI" Then 'si l'onglet est different de MODE EMPLOI

'Voila je séche ici.....

'définition de la plage dans le classeur source
'choisir derniere ligne non vide de la colonne B,
'copier la ligne de BX à UX dans le fichier de destination dans l'onglet Données
'Retour dans le fichier source et aller à la ligne au dessus et ainsi de suite jusqu'a la ligne 14




End If
Next


classeurSource.Close

'MsgBox "!!YouPiDou!!"

End Sub


Suis parti dans la bonne direction?
 

Arno94

XLDnaute Nouveau
Re : Importation de données dans un fichier et recherche d'equiv pour copie.

Bonjour, En faite je me suis super mal exprimé...

Je recommence :

J'ai un (ou plutot plusieurs) fichiers (nom défini dans une table mais variblable), il me faut rappatrié les données contenues dans les differents onglets (sauf un nommé toujours de la même maniere) dans un autre fichiers,
Le principe retenue : début cellule B14, s'il y a qq chose copie de la ligne entiere (car il y a des cellules vides mais qu'il faut garder absolument) dans le tableau de destination en commencé à A3, puis la ligne suivante etc etc, lorsque l'on tombe sur une cellule vide en colonne B on passe à l'autre onglet.

Les lignes doivent être copiées telles quelles, c'est à dire avec la même mise en forme, et les cellules vides.

Ensuite une fois le fichiers reconstituer, je devrai faire une recherche par equilavance dans 2 onglets de mon fichiers de destination et s'il y à un équilavent, copier les données dans l'onglet correspondant par exemple cellule CX dans DX etc, mais toujours dans le même ordre.

Merci d'avance

Voici le type de fichier, sachant qu'ils auront tous la même forme.
Et le fichier plateforme me sert d'echange entre excel et Autocad

Cijoint.fr - Service gratuit de dépôt de fichiers
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi