peux-t-on diviser une colonne en 3 ?

Leyan

XLDnaute Nouveau
Bonjour à tous.
Ceci est ma seconde question. J'ai créé un ensemble de tableaux (sur 7 feuilles, aucune importance en soi, c'est juste que la seule manip que je vois, va me prendre un temps fou!!!) dont un bout est joint en exemple. Dans les cases qui sont complétés par des pourcentages, je souhaiterais diviser ces colonnes en 3, soit à partir de la ligne 5 sans toucher aux lignes précédentes. De ce que j'ai vu sur internet, cela semble être une opération impossible, il faudrait insérer des colonnes puis refusionner le tout au niveau des lignes 1 à 4. Mais vu le nombre faramineux de colonnes concernées, j'en ai pour un temps fou!!! Existe-t-il une solution plus simple ?

Merci beaucoup pour l'existence de ce forum dont la simple lecture a énormément appris au débutant que je suis.

Leyan
 

Pièces jointes

  • exemple.xlsx
    11.9 KB · Affichages: 49
  • exemple.xlsx
    11.9 KB · Affichages: 48
  • exemple.xlsx
    11.9 KB · Affichages: 51

tototiti2008

XLDnaute Barbatruc
Re : peux-t-on diviser une colonne en 3 ?

Bonjour Leyan,

A ma connaissance, non, pas de fractionnement de cellules sur Excel (contrairement aux tableaux Word)
Pour gagner du temps, peut-être envisager de le faire en macro, mais pour ça il faudrait que l'on dispose du bout de tableau que tu nous a promis :)
 

Leyan

XLDnaute Nouveau
Re : peux-t-on diviser une colonne en 3 ?

l'exemple est ce que j'ai maintenant. J'ai fait la modification pour une colonne (D,E et F) correspondant à mon intitulé D2. Je le joins.
 

Pièces jointes

  • exemple après.xlsx
    12.2 KB · Affichages: 47

tototiti2008

XLDnaute Barbatruc
Re : peux-t-on diviser une colonne en 3 ?

Re,

Voilà une macro qui devrait permettre de passer de l'un à l'autre

Code:
Sub Macro1()
    Columns("D:E").Insert Shift:=xlToRight
    Range("D2:F2").Merge
    Range("D3:F4").UnMerge
    Range("D3:F4").Merge
    Columns("D:F").ColumnWidth = 3.71
End Sub
 

Leyan

XLDnaute Nouveau
Re : peux-t-on diviser une colonne en 3 ?

Merci beaucoup, je viens d'essayer ma première macro !!! J'ai même du rechercher comment on les exécutait.
Du coup, on arrive bien de mon exemple à mon exemple après.
Peut-être que ce qui va suivre ressemble à une question bête mais mon soucis, c'est de diviser de cette manière toutes les colonnes où il y aura des pourcentages à rentrer. Je souhaiterais pouvoir en mettre trois par cellule. Ici, je n'arrive qu'à diviser la colonne D. Comme je te le disais, j'ai 7 feuilles avec de long tableaux où je souhaiterais effectuer cette opération sans y passer de nombreuses heures.
Et les refusions ne sont pas toujours identiques.
Est-ce possible ?
 

Leyan

XLDnaute Nouveau
Re : peux-t-on diviser une colonne en 3 ?

je rajoute un exemple après après pour te montrer ce à quoi je voudrais arriver, sachant que ce n'est qu'un bout d'un plus grand tableau.
 

Pièces jointes

  • exemple après après.xlsx
    12.9 KB · Affichages: 40

Leyan

XLDnaute Nouveau
Re : peux-t-on diviser une colonne en 3 ?

oui, je comprends. Alors, serait-il possible de créer une macro qui se contente d'insérer deux colonnes à droite de chaque colonne visée? Je n'aurai plus ensuite qu'à faire les différentes fusions des lignes 1 à 5,
En fait, je me dois d'être honnête :). Par "serait-il possible", je souhaiterais te demander si tu peux m'écrire à nouveau une telle macro vu que je ne connais absolument rien en vba.
 

tototiti2008

XLDnaute Barbatruc
Re : peux-t-on diviser une colonne en 3 ?

Re,

un essai sur ton fichier "avant" pour séparer les colonnes des questions en 3

Code:
Sub Macro1()
For i = 11 To 3 Step -1
    If Cells(4, i).Value = "" Then
    lig = 2
    Else
    lig = 1
    End If
    Range(Cells(1, i), Cells(1, i + 1)).EntireColumn.Insert Shift:=xlToRight
    Range(Cells(2, i), Cells(2, i + 2)).Merge
    If lig = 2 Then
    Range(Cells(3, i), Cells(4, i + 2)).Merge
    Else
    Range(Cells(3, i), Cells(3, i + 2)).Merge
    Range(Cells(4, i), Cells(4, i + 2)).Merge
    End If
    Range(Cells(1, i), Cells(1, i + 2)).EntireColumn.ColumnWidth = 3.71
Next i
End Sub

Edit : ça casse un peu les bordures, mais bon...
 

Leyan

XLDnaute Nouveau
Re : peux-t-on diviser une colonne en 3 ?

Impressionnant à voir ! Comment dois-je modifier ta macro pour qu'elle s'occupe de mon tableau en entier. Dans l'exemple, les colonnes concernées vont de C à K mais mon tableau réel va de C à DL. Les 6 autres sont de tailles différentes. Le plus long va jusqu'à FS.
 

tototiti2008

XLDnaute Barbatruc
Re : peux-t-on diviser une colonne en 3 ?

Re,

La boucle For...Next parcourt les colonnes de la fin au début (sur ton fichier exemple "avant", de la 11ème colonne à la 3ème), d'où le "for i = 11 to 3 step -1"

La colonne DL est la 116ème, donc sur le principe

"for i = 116 to 3 step -1"

mais je n'ai que pu gérer les cas de présentation du tableau que tu nous as fourni, donc je ne sais pas si ça va coller avec le reste de ton tableau
 
Dernière édition:

Leyan

XLDnaute Nouveau
Re : peux-t-on diviser une colonne en 3 ?

Hallucinant !!!!! C'est magique !!!!
Ca fonctionne à la perfection !!!!!!!!!
Merci beaucoup, vraiment !!!!
Question subsidiaire : Quel livre conseillerais-tu à quelqu'un qui souhaiterait se mettre au VBA ?
Encore merci pour ton aide,
Leyan
 

Statistiques des forums

Discussions
312 492
Messages
2 088 936
Membres
103 987
dernier inscrit
Doctami