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 :

Modification automatisée du format de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Juin 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Juin 2013
    Messages : 16
    Par défaut Modification automatisée du format de données
    Bonjour !

    Je cherche une aide au sujet d'un fichier contenant plusieurs milliers de lignes mais qui est particulièrement mal foutu et que je voudrais transformer en vrai feuille de donnéess afin d'en faire ensuite une base dans Access avec formulaire de saisie et de recherche.

    Je vais essayer d'être clair! C'est un classeur dans lequel figure plusieurs centaines de "fiches" qui ont la tête suivante:

    Fiche 1
    En colonne A: j'ai un intitulé de colonne (Référence Marchand) puis une cellule fusionnée sur 11 lignes (dans laquelle j'ai le nom de chaque Marchand)
    En colonne B : un intitulé de colonnes (Libellés) avec 11 champs nommés (raison sociale, non du gérant...)
    En colonne C et D: un intitulé de colonnes (Détails Entreprises puis Commentaires) avec sous chacun 11 champs
    En colonne E : un intitulé de colonnes (Statut Dossier) en dessous duquel j'ai un champ fusionné sur 11 lignes
    En colonne F : un intitulé de colonne (Etat S1 2013) en dessous duquel j'ai un champ fusionné sur 11 lignes

    Fiche 2, ...Fiche n....la même chose.

    Comment puis automatiser une remise en forme exploitable ensuite en BDD ?

    Je vous remercie d'avance pour votre aide !

    Khask

    J'ai oublié de préciser que chaque fiche est séparée par une ligne vide.

    Pouvez vous m'aider s'il vous plaît ?

    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Mets un bout de classeur en pièce jointe, difficile de te répondre autremment.

  3. #3
    Membre averti
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Juin 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Juin 2013
    Messages : 16
    Par défaut Extrait du fichier
    Voilà un exemple de deux fiches successives...sauf que j'en ai....500 environ..;-)
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Regarde le classeur joint. Les résultats sont sur Feuil2. Voici la macro :

    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
    Sub Formater()
        Dim Plage As Range, C As Range, Ligne As Long
        With Sheets("Feuil1")
            .[A:A,E:F].UnMerge
            Set Plage = .Range(.[B2], .Cells(.Rows.Count, 2).End(xlUp))
        End With
        With Sheets("Feuil2")
            Ligne = 1
            For i = 1 To Plage.Rows.Count Step 11
                Ligne = Ligne + 1
                .Cells(Ligne, 1) = Plage(i, 1).Offset(, -1)
                .Cells(Ligne, 24) = Plage(i, 1).Offset(, 3)
                .Cells(Ligne, 25) = Plage(i, 1).Offset(, 4)
                Plage(i, 1).Resize(11).Offset(, 1).Copy
                .Cells(Ligne, 2).PasteSpecial xlValues, Transpose:=True
                Plage(i, 1).Resize(11).Offset(, 2).Copy
                .Cells(Ligne, 13).PasteSpecial xlValues, Transpose:=True
            Next i
        End With
    End Sub
    Fichiers attachés Fichiers attachés

  5. #5
    Membre averti
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Juin 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Juin 2013
    Messages : 16
    Par défaut
    Merci beaucoup pour ton aide...qui eut été absolument parfaite si mon fichier n'était pas pourri ...je viens de m'apercevoir que certaines "fiches" ont 12 lignes sans en têtes de ligne et pas 11.. et certaines en ont dix de plus !

    ca met un beau bazar avec des décalages de lignes... dans ces conditions, existe-t-il une solution ?

    Bonne journée
    K

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Si tu défusionnes tes trucs oui.

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour, EngueEngue :

    Si tu défusionnes tes trucs oui.
    C'est fait :


  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    je viens de m'apercevoir que certaines "fiches" ont 12 lignes sans en têtes de ligne et pas 11.. et certaines en ont dix de plus !
    Est-ce qu'en partant de la ligne portant le nom du marchand et en se basant sur les libellés de la colonne B, on peut remplir Feuil2 ? Dans ce cas, que faire des lignes excédentaires ?

Discussions similaires

  1. format de données
    Par Blowih dans le forum OpenGL
    Réponses: 1
    Dernier message: 14/03/2005, 17h22
  2. [format des données avec une procédure stockée]
    Par viny dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 10/03/2005, 13h24
  3. Format de données en sortie d'une procédure stockée
    Par Martin Sylvie dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/02/2005, 12h02
  4. pB format de données
    Par calamity_jane dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 12/10/2004, 08h33
  5. Réponses: 4
    Dernier message: 04/12/2003, 08h12

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