![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: octobre 2008
Messages: 2
|
Bonjour à tous...
je vient de mettre le nez dans les macro et dans vba... c'est pas simple... voici ce que je souhaite faire : je souhaite fusionner automatiquement des cellules identiques dans des colonnes identifiées (c'est à dire uniquement dans les colonnes de mon choix : ici les colonnes F K et M et uniquement pour des cellules adjacentes verticalement). S'il était possible, je souhaiterai que cela se fasse dans une autre feuille afin de conserver la possibilité de trier et de calculer comme bon me semble dans le fichier "source"... A la lecture du forum j'ai vu qu'il était possible de s'orienter vers un tableau croisé dynamique mais je ne suis pas convaincu... j'ai tenté ce code sans succès : ' Code :
Mes valeurs sont dans la colonne A Dim Deb As Long Range("A1").Select Application.DisplayAlerts = False Deb = -1 While Not IsEmpty(ActiveCell) If ActiveCell.Value = ActiveCell.Offset(1).Value Then If Deb = -1 Then Deb = ActiveCell.Row Else If Deb <> -1 Then With Range("A" & Deb & ":A" & ActiveCell.Row) .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .MergeCells = True End With Deb = -1 End If End If ActiveCell.Offset(1).Select Wend Application.DisplayAlerts = True et celle ci aussi...mais visiblement il y a une "erreur de compilation /erreur de syntaxe" à la ligne : Code :
C1 = Range('A' & i) = Range('B' & i) Code :
Sub Macro1() ' ' Macro1 Macro ' Macro enregistrée le 06/02/2006 par ADSLHY ' ' Application.ScreenUpdating = False 'fige l'affichage de l'écran Application.EnableEvents = False 'Supprime certain message d'alerte windows For i = 2 To 10 'choisissez de quelle ligne a quel ligne doit ce faire les fusion 'C1 & C2 sont les condition qui permettent de savoir si An=Bn et si Bn=Cn C1 = Range('A' & i) = Range('B' & i) C2 = Range('B' & i) = Range('C' & i) If (C1 = True And C2 = True) Then 'si C1 et C2 sont vrai alors fusion cellule ABCn Range('B' & i, 'C' & i).Select Selection.ClearContents Range('A' & i, 'C' & i).Select 'selection An;Cn With Selection 'fusion .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .ShrinkToFit = False .MergeCells = False End With Selection.Merge End If Next i Application.ScreenUpdating = True Application.EnableEvents = True End Sub En Pièce Jointe un exemple de ce sur quoi je travaille...anonymé et réduit à quelques lignes... Merci de vos conseils... |
|
|
|
|
|
#2 (permalink) |
![]() |
Bonjour, et bienvenue sur nos forums.
1. A priori, je ne vois pas de lien direct entre fusion de cellules et tableau croisé dynamique ![]() 2. Dans ton exposé, tu parles des colonnes K, L, M, alors que dans le code de ta macro, tu as un commentaire qui dit que tes données sont en A 3. Ton fichier d'exemple est tellement bien "anonymé" que je n'ai rien compris de ce que tu souhaitais réalisé lorsque je l'ai ouvert...
__________________
Pierre Fauconnier -------------------- "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire) Pensez au tag ![]() Mon blog sur DVP - Mes petits papiers sur DVP Je ne peux en aucun cas être tenu pour responsable des conséquences de l'utilisation des codes que je fournis dans le cadre des réponses apportées sur les forums, même s'il s'avérait que ces codes sont erronés ou amènent à des dysfonctionnements, de manière manifeste ou non. |
|
|
|
|
|
#3 (permalink) |
|
Invité de passage
![]() Date d'inscription: octobre 2008
Messages: 2
|
Bonjour,
Effectivement mon fichier est moche...je refais un fichier type... Pour les codes oublions...c'estla première fois que je prends VBA en main...j'ai pris un truc fait pour un autre fichier pour le tester et j'ai pas touché aux variables... juste pour le faire tourner...mais comme il tourne pas.... Pour le croisé dynamique je suis effectivement du même avis, ça ne me convient pas.... d'où le post... Je pense qu'avec les nouveaux docs ce sera plus clair... merci du temps passé à tenter de me comprendre... |
|
|
|
|
![]() |
![]() |
||
Fusion automatique conditionnée
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|