Macro excel qui marche plus

Résolu
Qhes Messages postés 180 Statut Membre -  
Qhes Messages postés 180 Statut Membre -
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

9 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  2. Qhes Messages postés 180 Statut Membre 29
     
    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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
    3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      j'ai retrouvé un peu de courage : test2.xls
      eric
      0
  3. Qhes Messages postés 180 Statut Membre 29
     
    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
  4. Qhes Messages postés 180 Statut Membre 29
     
    je regarde ton texte et je te dis :)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Qhes Messages postés 180 Statut Membre 29
     
    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
  7. Qhes Messages postés 180 Statut Membre 29
     
    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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
  8. Qhes Messages postés 180 Statut Membre 29
     
    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
  9. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

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

    edit: nouveau fichier déposé à 9:30
    0
  10. Qhes Messages postés 180 Statut Membre 29
     
    WAHOUAAA c'est impressionnat tout ce qui me reste a apprendre lol

    merci Eric ta macro est simplement parfaite :)
    0