Réorganisation fichier excel

caba_44 Messages postés 107 Statut Membre -  
caba_44 Messages postés 107 Statut Membre -
Bonjour à toute l'équipe de CommentCaMarche.net,

J'ai une problématique sur un fichier assez lourd sur Excel où faire la manipulation 1 par 1 me prendrait environ 3 mois sans trop exagérer. C'est pourquoi je vous sollicite afin de savoir si vous avez une solution au problème suivant.

Je souhaite réorganiser un fichier dont l'explication est en pièce jointe sur www.cjoint.com
où j'ai détaillé au maximum les étapes par feuille.

https://www.cjoint.com/c/CAqjC7wJCko

Je suis sûr qu'une macro pourrait aider mais je n'ai pas le talent de la programmation.

En attendant de vous lire si l'affaire n'est pas trop compliquée.

Bien cordialement,

Mathieu

A voir également:

3 réponses

caba_44 Messages postés 107 Statut Membre 5
 
Bonjour à tous,

Pouvez-vous me dire ce qui pose problème à la réalisation de ce problème ?
Est-ce un très gros développement ?

En attendant de vous lire,

Mathieu
0
pilas31 Messages postés 1878 Statut Contributeur 648
 
Bonjour,

J'ai créé une macro vba qui fait la réorganisation.

Voila le fichier avec la macro :

https://www.cjoint.com/c/CAqoUOth4Hj

et voila la macro elle-même :
Sub REORG()
Sheets("fichier origine").Select
 Cells.Select
Selection.Copy
Sheets("fichier final").Select
Cells.Select
ActiveSheet.Paste
DernRef = Columns(3).Find("*", , , , xlByColumns, xlPrevious).Row
Refcour = Cells(DernRef, 3)
ligne = DernRef - 1
ligfin = DernRef
While ligne >= 1
    If Refcour <> Cells(ligne, 3) Then
        Range("F" & ligne + 1 & ":I" & ligfin).Cut
        Range("A" & ligne + 2).Select
        ActiveSheet.Paste
        ligfin = ligne
        Refcour = Cells(ligne, 3)
        If ligne <> 1 Then Rows(ligne + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    End If
    ligne = ligne - 1
Wend
End Sub


Elle prend l'onglet "fichier origine" et produit automatiquement "fichier final"

A tester

A+
0
caba_44 Messages postés 107 Statut Membre 5
 
Cher Pilas31,

Mon problème a été résolu par une autre solution.
Néanmoins, je prendrai soin de tester la vôtre en respect du temps que vous y avez consacré.

Je vous remercie par avance du temps que vous avez bien voulu donner à ma problématique

Bien cordialement

Mathieu
0