Macro excel qui marche plus

Résolu/Fermé
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 - 2 déc. 2010 à 16:54
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 - 3 déc. 2010 à 11:55
Bonjour,

J'avais une super macroqui marchait super bien... c'était le bon temps... puis on a changer de version on est passé de 2003 à 2007 et on a même changer klk liens du serveurs ...

Et ma macro dans tout ca.... :$

perdue lessivée et carrement bancale....

Voilà le but de ma macro :
dans une suite de données àdditionner entre elles toutes les céllules de la colonne B ayant les même données à la colonne A et les même données à la colonne C.

Voilà ma macro :
Sub Total()

Application.ScreenUpdating = False

On Error Resume Next

'trouver le dernier enregistrement complet

Dim Ligne As Long
Dim Ligne2 As Long

Ligne = (Range("A1").End(xlDown).Row + 1)

'remplacement des #N/A

Cells.Replace What:="#N/A", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

o = "A" & Ligne
p = "C" & 65536
q = o & ":" & p
Range(q).Select
Selection.ClearContents

'suppression des blancs
Range("E1").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(RC[-2]:R[" & Ligne - 1 & "]C[-2],"""")"
b = ActiveCell.Value

For h = 2 To Ligne - 1 - b
Cells(h, 3).Select
If ActiveCell.Value = "" Then
Rows(h).Delete
h = h - 1
End If
Next h

Range("E1").Select
Selection.Clear

'création des sous-totaux

Range("D2").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-3],RC[-1])"
Selection.AutoFill Destination:=Range("D2:D" & Ligne - 1), Type:=xlFillDefault

Range("A1:D" & Ligne - 1).Select

Selection.Subtotal GroupBy:=4, Function:=xlSum, TotalList:=Array(2), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=False

Columns(4).ClearContents

'ajout des infos opérateur et matière

Ligne2 = (Range("B1").End(xlDown).Row + 1)

For i = 2 To Ligne2
Cells(i + 1, 1).Select
If ActiveCell.Value <> "" Then
Cells(i, 1).Value = Cells(i + 1, 1).Value
Cells(i, 3).Value = Cells(i + 1, 3).Value
End If
Next i

'copie sur une nouvelle feuille
ActiveSheet.Outline.ShowLevels RowLevels:=2
Range("A1").Select
Selection.SpecialCells(xlCellTypeVisible).Copy
Sheets.Add
ActiveSheet.Name = "Total"
Sheets("Total").Move after:=Sheets("Excel")
Sheets("Excel").Select
Range("A3:C" & Ligne2 - 1).Select
Selection.SpecialCells(xlCellTypeVisible).Copy
Sheets("Total").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Excel").Select
Range("A1:C1").Select
Selection.Copy
Sheets("Total").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select

Sheets("Excel").Select
ActiveSheet.Shapes("Button 1").Select
Selection.Copy
Sheets("Total").Select
Range("F1").Select
ActiveSheet.Paste

Application.DisplayAlerts = False
Sheets("Excel").Delete
Application.DisplayAlerts = True
Sheets("Total").Select
ActiveSheet.Name = "Excel"

Range("A1").Select


Application.ScreenUpdating = True

End Sub



Voila mon fichier :
http://www.cijoint.fr/cjlink.php?file=cj201012/cijHksrQYK.xls

S'il vous plai aidez moi...

Merci d'avance


A voir également:

9 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
2 déc. 2010 à 21:25
Bonsoir,

Déjà je te rassure, j'ai l'impression qu'il plante bien sur 2003 aussi ;-)

J'ai essayé de le débugger mais ce n'est pas concluant...

Tu devrais plutôt fournir le résultat désiré avec qcq lignes d'exemple (qui recouvrent tous les cas envisageables) je pense que ça sera plus efficace.
J'ai l'impression que tu n'as pas pris la méthode la plus rapide....

eric
0
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 29
2 déc. 2010 à 21:51
Oui effictivement il y a peut etre plus simple :)

http://www.cijoint.fr/cjlink.php?file=cj201012/cijGBsGumh.xls

jai mis en vert tous les A=7
ceci sont tous intact après la macro car les C ne sont pas égaux

j'ai is en bleu les A=9
3 groupe de C égaus apparaissent C=BK / C=BZ et C=R
pour chacun d'entre eux la macro additionne les B

je sais pas si c vraiment claire...
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
2 déc. 2010 à 22:20
je sais pas si c vraiment claire...
Avec l'explication de texte : bof... :-)
Ca le sera sans doute plus avec le fichier mais pour l'instant cijoint.fr merdouille :-s
A défaut tu peux utiliser aussi cjoint.com

eric
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
2 déc. 2010 à 23:19
J'ai réussi à récupérer ton fichier.
Pas fini complètement, je me suis attaché seulement à récupérer tes données plus efficacement.
Il reste a décomposer 7A (en A) en A (en A) et 7 (en C) mais là suis un peu fatigué... ;-)
Dis déjà si c'est bien ce que tu voulais.
Eventuellement si tu arrives à faire cette partie restante (plus les en-têtes) dis-le moi, je ne pourrais m'y remettre éventuellement que demain soir.
test.xls

eric
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
Modifié par eriiic le 3/12/2010 à 00:04
j'ai retrouvé un peu de courage : test2.xls
eric
0
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 29
3 déc. 2010 à 00:10
en fait j'ai eu un doute lol
j'ai pas tout compris :

Il reste a décomposer 7A (en A) en A (en A) et 7 (en C)

:$

moi aussi sui sun peu fatigué lol mais je tien la peche je suis encor au taf il me reste quelques formations a faire avant de rentré :)
0
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 29
3 déc. 2010 à 00:10
je regarde ton texte et je te dis :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 29
3 déc. 2010 à 00:14
CooOOOooOOL ca marche :)

Dommage juste que le bouton disparaisse lui aussi lol

mais avec mon incapacité casi totale de décripter le language Macro et l'heure tardive qui n'arrange rien... pourrait tu me dire ce que tu lui a demander de faire

histoire d'être sur que ca marche bien et que ce ne soit pas une simple vue de l'esprit très tantante lol
0
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 29
3 déc. 2010 à 00:25
je contrôler plein de lignes... est ce que j'ai le droit de dire que tu es un géni?

ha... j'ai pas le droit???

Tant pis tu m'a tiré d'une bien mauvaise passe :))

et oui oui tu es un GENI !!!!

je suis sure qu'un géni comme toi trouvera une solution pour que le bouton de macro ne disparaisse pas avec les lignes de titres lol (bien que si les lignes de titres disparraissent c pas trop grave pour la siute :)

car mmine de rien, je suis c'est sur une suite de 10 macro aussi farfelue les unes que les autres lol
celle ci est la 8è
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
3 déc. 2010 à 00:33
le bouton ne disparait pas, il est toujours en feuil1 avec les données intactes en feuil1, le résultat en feuil2.
J'avais bien vu que tu créais et supprimais des feuilles mais sans pouvoir voir le résultat réel. J'ai juste pondu le tableau final, cette partie là je te la laisse.
Dodo maintenant, l'explications du code se sera demain
eric
0
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 29
3 déc. 2010 à 00:36
merci bcp
bonne nuit :)
a demain donc :)

histoire que je découvre encore une partie du sombre mystère du language VBA lol

merci encore eric
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
Modifié par eriiic le 3/12/2010 à 09:31
Bonjour,

la version un peu modifiée avec le code commenté
test2.xls
Bonne lecture :-)
eric

edit: nouveau fichier déposé à 9:30
0
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 29
3 déc. 2010 à 11:55
WAHOUAAA c'est impressionnat tout ce qui me reste a apprendre lol

merci Eric ta macro est simplement parfaite :)
0