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

Excel Discussion :

Ventiler des cellules dans d'autres colonnes


Sujet :

Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Points : 14
    Points
    14
    Par défaut Ventiler des cellules dans d'autres colonnes
    Bonjour à toutes et tous,

    Mon titre n'est pas clair mais je vous explique mon problème.

    Des rapports papiers de contrôle contenant 6 lignes de saisie maximum sont écrits à la main par des contrôleurs puis saisis dans un fichier Excel ligne après ligne.
    Ces rapports peuvent contenir les 6 lignes remplies mais pas forcément.
    En effet, le contrôleur ne peut constater que 3 choses et ne remplir que 3 lignes dans son rapport.
    Quoiqu'il en soit, cela génère des milliers de lignes que je dois aujourd'hui ventiler autrement à savoir 1 ligne = 1 rapport comprenant tous les contrôles (ex: 6) qui lui sont rattachés.
    Cela impose bien sûr d'ajouter des colonnes à mon fichier pour pouvoir y ventiler dedans les lignes suivantes

    Seulement voilà, je ne sais pas si c'est possible ni comment procéder !?!

    Je mets un exemple de ce que je veux faire en PJ.
    Ventilation ligne vers colonne.xlsx

    Merci 1000 fois par avance pour votre aide car là....je sèche complètement.

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    bonjour
    tester ça :
    le code suppose que toujours l'ordre des constats est respecté (de 1 à 6)
    si on peut avoir constat 1 / 3 / 6 je modifierais le code en conséquence

    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
    Sub testBB()
    Application.ScreenUpdating = False
    Dim F1 As Worksheet
    Dim F2 As Worksheet
    Set F1 = Sheets("Feuil1")
    Set F2 = Sheets("RESULTAT")
    F2.Cells.ClearContents
    Dim i As Long
    On Error Resume Next
    Set d = CreateObject("Scripting.Dictionary")
    F2.Cells(1, 1).Resize(1, 10) = Array("N° Rapport", "Date :", "Site", "Secteur", "Constats 1", "Constats 2", "Constats 3", "Constats 4", "Constats 5", "Constats 6")
        TblBD = F1.Range("A2:E" & F1.Range("A" & Rows.Count).End(xlUp).Row)
        For i = 1 To UBound(TblBD)
        c = TblBD(i, 1) & "|" & TblBD(i, 2) & "|" & TblBD(i, 3) & "|" & TblBD(i, 4)
        d(c) = d(c) + 1
        Next i
     F2.Range("A2").Resize(d.Count) = Application.Transpose(d.keys)
     F2.Range("K2").Resize(d.Count) = Application.Transpose(d.items)
     Application.DisplayAlerts = False
     F2.Range("A2").Resize(d.Count).TextToColumns Other:=1, OtherChar:="|"
    Dim derlig As Long
    Dim J As Long
    derlig = F2.Cells(Rows.Count, 1).End(xlUp).Row
    For J = 2 To derlig
    X = (F2.Cells(J, "K") + 4)
    For col = 5 To X
    F2.Cells(J, col) = "OK"
    Next col
    Next J
     F2.Columns("K:K").Delete Shift:=xlToLeft
     Set d = Nothing
    Application.ScreenUpdating = True
    F2.Select
    End Sub
    Fichiers attachés Fichiers attachés
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    Bonjour à tous,

    Enooooorme MERCI BENNASR pour la rapidité et la qualité du code !!!

    J'ai mis les mains dedans pour tenter de m'en sortir seul mais je coule littéralement.

    Ce code m'est précieux pour d'autres fichiers mais, concernant ce fichier là, effectivement la ventilation n'est pas faite dans des colonnes adjacentes.
    Je pensais que ça n'avait pas d'importance....ARF...Désolé.

    J'ai tout de même pu ajouter des colonnes via le code mais pas réussi à ventiler là où il faudrait.

    Je mets en PJ mon avancée et le souhait de résultat (avec des infos réalistes).
    Si vous pouvez encore m'aider.

    Encore un immense merci pour votre aide.

    TEST1 - Ventilation ligne vers colonne.xlsm

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/04/2016, 17h07
  2. [XL-MAC 2011] Copier des cellules dans une autre feuille sous condition
    Par nenel peixoto dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/02/2016, 20h11
  3. [XL-2013] Copier des cellules dans une autre feuille selon critères en VBA
    Par Hocked dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/07/2015, 19h54
  4. [XL-2013] Comparer des cellules dans une meme colonne, et faire la sommes des critères
    Par savaryb dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/02/2015, 17h28
  5. [XL-2007] couper une partie des données dans une autre colonne
    Par ivan_isaak dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/11/2011, 10h06

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