Bonjour, bonjour amis forumeurs super baleze en language
J'en appel encore à votre aide (et votre indulgence) concernant une copie de donnée mais dans une forme differente de la source.
Source en colonne => Destination en Ligne
Evidemment j'ai une bonne 100 de fichiers à faire comme ça...
Voici mon bout de code recomposé par plusieurs trouvaille (notamment ici) :
Et pour être honnete la je bloque sur comment faire
Si une idée vous vient n'hésitez pas surtout
Bonne fin de journée
Arno
J'en appel encore à votre aide (et votre indulgence) concernant une copie de donnée mais dans une forme differente de la source.
Source en colonne => Destination en Ligne
Evidemment j'ai une bonne 100 de fichiers à faire comme ça...
Voici mon bout de code recomposé par plusieurs trouvaille (notamment ici) :
Code:
Sub Importation()
Dim Destination As Workbook, Source As Workbook
'déclaration du fichier de destination
Set Destination = ThisWorkbook 'je dis a excel de prendre le fichier qui est ouvert
'Ajout d'un onglet
Worksheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Move Before:=Sheets(1)
ActiveSheet.Name = "NSI"
'Format texte
Cells.Select
Selection.NumberFormat = "@"
Range("A1").Select
' 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 Source = Workbooks.Open(Cells(1, 1).Value)
Destination.Activate 'je dis a excel d activer ce fichier afin de mettre le titre des colonne ci-dessous
'Entetes du tableau
'Site
Cells(3, 1).Value = "GROUPE HOSPITALIER"
Cells(3, 2).Value = "RÉGION AP"
Cells(3, 3).Value = "HÔPITAL"
Cells(3, 4).Value = "Site"
Cells(3, 5).Value = "Opérateur"
Range("A3", "E3").Font.ColorIndex = 8 'Turquoise
'Cells(3, 5).Interior.Color = vbYellow 'Mise en couleur de la cellule
'Identité Bâtiment
Cells(3, 6).Value = "Nom Officiel"
Cells(3, 7).Value = "Nom d'usage"
Cells(3, 8).Value = "Adresse Principale"
Cells(3, 9).Value = "Nombre de secteurs"
'Cells(3, 9).Interior.Color = vbRed 'Mise en couleur de la cellule
Cells(3, 10).Value = "Nom du secteur"
Cells(3, 11).Value = "Année PERMIS de construire"
Cells(3, 12).Value = "ANNÉE fin de construction"
Cells(3, 13).Value = "construction HQE"
Range("F3", "M3").Font.ColorIndex = 5 'Bleu
'Descriptif
Cells(3, 14).Value = "Niveaux superstructure"
Cells(3, 15).Value = "Niveaux infrastructure"
Cells(3, 16).Value = "Hauteur du bâtiment"
Cells(3, 17).Value = "Cote altimétrique"
Cells(3, 18).Value = "Type de cote altimétrique"
Cells(3, 19).Value = "Type de toiture"
Cells(3, 20).Value = "SHOB"
Cells(3, 31).Value = "SHON"
Cells(3, 22).Value = "SDO"
Cells(3, 23).Value = "Niveau de précision"
Cells(3, 24).Value = "Superficie locative"
Cells(3, 25).Value = "conventions internes"
Cells(3, 26).Value = "conventions externes"
Cells(3, 27).Value = "Places de parking"
Range("N3", "AA3").Font.ColorIndex = 46 'Orange
'Activité principale
Cells(3, 28).Value = "Activité principale"
Cells(3, 28).Font.ColorIndex = 29 'Violet
'Classements
Cells(3, 29).Value = "par Commission de sécurité"
Cells(3, 30).Value = "Type"
Cells(3, 31).Value = "Catégorie"
Cells(3, 32).Value = "Classement IGH"
Cells(3, 33).Value = "Avis commission de sécurité"
Cells(3, 34).Value = "Année dernière visite sécurité"
Cells(3, 35).Value = "Capacité de sécurité"
Cells(3, 36).Value = "Accès handicapés"
Cells(3, 37).Value = "Classement monuments historique"
Range("AC3", "AK3").Font.ColorIndex = 7 'Violet
'Données de Gestion
Cells(3, 38).Value = "Statut de l'immeuble"
Cells(3, 39).Value = "Année d'entrée en gestion"
Cells(3, 40).Value = "Année de sortie de gestion"
Cells(3, 41).Value = "Année de mise en exploitation"
Cells(3, 42).Value = "Exploitant / gestionnaire"
Cells(3, 43).Value = "Responsable sécurité incendie"
Cells(3, 44).Value = "Potentiel reconversion"
Range("AL3", "AR3").Font.ColorIndex = 50 'Violet
'Code de copie
Source.Activate 'Activation de la source
'Nb_onglet = Source.Sheets.Count 'je compte les onglets qui se trouvent dans le fichier source - utile dans le nombre n'est pas defini
ligne_debut = 4 'je defini la variable ligne_debut qui correspond la plage de de commencement
variablecolonne = 0 'une variable = 0 pour le comptage des colonnes ??
'Boucle pour tous les onglets à partir du 3 (cela va toujours de 3 à 9 dans ce cas)
For compteur = 3 To 9 ' 9 à remplacer par nb_onglet quand c'est variable
Source.Worksheets(compteur).Activate ' j active les onglets du fichier source
nb_colonne = Range("F4").End(xlToRight).Column 'je compte le nombre de Colonne utilisé dans l onglet en partant de la cellule de depart F4
' La je bloque
variablecolonne = +1
Next
Source.Close 'fermeture du fichier contenant les sources
Destination.Activate ' activation du fichier recevant les données
End Sub
Et pour être honnete la je bloque sur comment faire
Si une idée vous vient n'hésitez pas surtout
Bonne fin de journée
Arno
Pièces jointes
Dernière édition: