Fusionner des lignes, oui, mais comment ?

vincentjuan

XLDnaute Nouveau
Bonjour à toutes tous,

Je suis nouveau sur le forum et je découvre cet intéressant logiciel qu'est Excel dans sa version 2003 durant un contrat saisonnier dans une institution ministérielle.

J'ai supposé en tapant "Forum Excel" dans Google, tomber sur le bon forum où les vrais "pros" 8) pourraient m'aider.

Mon problème est le suivant :

J'ai un tableau qui s'étend sur un bon millier de lignes et quelques colones. La première colone contient une liste de noms, les autres affichent les divers droits d'accès a des sous-sites collaboratif pour chaque utilisateur. Comme ce n'est pas clair, photo !

http://img516.imageshack.us/my.php?image=tableaugp2.gif

Je voudrais fusionner verticalement les lignes contenant les noms et les valeurs.
En effet vous le voyez au lieu de rassembler les droits de chaque personne sur une seule et même ligne, ils sont dispatchés sur plusieurs lignes. Une seule et même personne occupe plusieurs lignes donc.

Il me faudrait pouvoir en un clic rassembler dans l'ensemble du tableau, en une ligne par personne, toutes les valeurs des droits.

Je voudrais donc passer de ça :

http://img516.imageshack.us/my.php?image=tableau2aq6.gif

à ça :

http://img516.imageshack.us/my.php?image=tableau3ou3.gif

Si vous aviez une macro toute faite à utiliser sur tout le tableau ou un groupe de lignes au même nom, ou une explication, je suis prenneur!

<CE QU'ON M'A REPONDU SUR LE FORUM EXCEL-PRATIQUE>

*Bonjour,

Regarde ce fichier - Macro de CbernardT

Fichier

Amicalement
Nad*

<CE QUE J'AI REPONDU>

*Alors, je viens d'essayer, quand j'applique la macro directement dans mon document excel ça semble le planter, je voudrais bien vous passer mon XLS pour faire des essais malheureusement c'est une liste de noms sensibles et mon chef refuse.

J'ai tenté de supprimer le contenu du XLS d'exemple et de le remplaçer par le contenu de mon XLS, ou du moins les 20 premières lignes.

Lorsque je clique sur le bouton orange de triage cela fonctionne mais seulement sur une partie des noms, et seulement sur une partie des colones.

En effet le tableau d'exemple compte infiniment moins de lignes, et moins de colones que le mien.

Je suppose que la macro a été configurée dans ce sens... Je vais peut être devoir la modifier pour l'adapter à mon tableau.

Est-il possible de l'adapter pour un document contenant un nombre illimité de lignes et de colones?

Par exemple le miens fait a peu près 1150 lignes et occupe les colones A à Q.

Je ne comprend rien au Visual Basic alors je sollicite à nouveau votre aide.

Merci par avance!

Cordialement,

Vincent JUAN

P.S: Le code original de la Macro si ça peut vous éclairer.

Code:
Option Explicit
Option Base 1
Sub Trier()
' Macro enregistrée le 28/05/2006 par CBernardT
Dim Lig As Long, i As Long, j As Long, k As Byte, n As Integer, X As Byte

Application.ScreenUpdating = False
Lig = Range("A65536").End(xlUp).Row
'Report des dates des lignes des mêmes projets
For i = 4 To Lig
   ' Nombre d'occurence du projet
   For n = 4 To Lig
   If Cells(n, 1) = Cells(i, 1) Then
   X = X + 1
   End If
   Next n
If X > 1 Then ' S'il y en a plus d'une
' Recherche des occurences du projet
   For j = i + 1 To Lig
      If Cells(j, 1) = Cells(i, 1) Then
         ' Report de la date
         For k = 4 To 8
         If Cells(j, k) <> "" Then
         Cells(i, k) = Cells(j, k)
         Cells(i, k).Interior.ColorIndex = Cells(j, k).Interior.ColorIndex 'Coloration
         Range(Cells(j + 1, 1), Cells(Lig + 1, 8)).Copy Cells(j, 1) ' Remontée du tableau
         End If
         Next k
      End If
   Next j
End If
X = 0
Next i
Application.ScreenUpdating = True
End Sub
*

Je vous remercier d'avance!

Bien cordialement,

Vincent JUAN
 

Discussions similaires

Statistiques des forums

Discussions
312 027
Messages
2 084 767
Membres
102 659
dernier inscrit
Martin.pesquie