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 :

Copie d'une plage dans un format different colonne en ligne


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Points : 10
    Points
    10
    Par défaut Copie d'une plage dans un format different colonne en ligne
    Bonjour,

    Je me permet de venir poster ici car je suis vraiment bloqué, et ceux même aprés avoir eccumé pas mal de forum ...

    Je doit (en vba) faire une macro qui copierais une plage de données initialement en colonne en ligne.

    La plage commence toujours à F4 de l'onglet 3 et s'arrete à ?56 (? = numero de colonne aléatoire)

    (En pièce jointe, un fichier test à importer, et le fichier d'importation avec mon bon de code)

    Ps : Attention il y a des conditions dans toutes les cellules (quand je recherche par la derniere ligne/colonne il prend la derniere avec formule "non vide" donc, mais pas de recherche par les valeur... )

    Voici

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
     
    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"
    On Error Resume Next
     
    '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
    variable = 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
     
     
    nb_lignes = Range("F65536").End(xlUp).Row
     
    'La je suis completement bloqué
     
     
     
     
    Next
     
    Source.Close False  'fermeture du fichier contenant les sources sans sauvegarde
    Destination.Activate ' activation du fichier recevant les données
     
    End Sub
    J'ai même essayé de faire un copier/coller spécial en ne gardant que les valeurs etc , mais rien n'y fait ....

    Si quelqu'un peut me venir en aide cela serait très sympa

    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club Avatar de smacksime
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Avril 2011
    Messages : 17
    Points : 43
    Points
    43
    Par défaut
    Bonjour,
    Pourquoi passer par une macro ici ? Je pense personnellement que c'est bien inutile.
    Tout simplement quand, vous faites copier/collage spécial, cocher la case "Transposer".
    Voilà, à vous de voir sinon vous avez la commande en vba à ajouter à votre collage :
    Je ne sais pas vraiment si c'est ce que vous recherchiez.
    Bien à vous.

Discussions similaires

  1. Problème de copie d'une plage de cellule
    Par Boonichou dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/08/2007, 18h31
  2. [VBA Excel] Copie d'une feuille dans un autre fichier
    Par nattyman dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2006, 11h35
  3. [VBA] Copy d'une selection dans Word
    Par marsupoilu dans le forum VBA Word
    Réponses: 1
    Dernier message: 04/07/2006, 10h27
  4. coller une plage dans word depuis excel
    Par tarmin dans le forum VBA Word
    Réponses: 7
    Dernier message: 18/01/2006, 11h16
  5. [JSP] mettre une chaine dans un format precis
    Par logica dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/06/2005, 11h21

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