Probleme macro

Cris68300 Messages postés 104 Statut Membre -  
via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai besoin d'aide...
C'est le début de la création de mon fichier, mais je rencontre déjà un problème lors de la macro pour trier= quand je trie le client 9 se retrouve sur facture 5 et le 5 sur la facture 9. pourquoi svp???

Le code créé est:

Sub Macro5()
'
' Macro5 Macro
'

'
ActiveWorkbook.Worksheets("Suivi facture").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Suivi facture").AutoFilter.Sort.SortFields.Add Key _
:=Range("A1:A3162"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Suivi facture").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

De plus je n'arrive pas a vous joindre mon fichier sur ce post pour meilleure compréhension...

Merci d'avance pour votre aide!!!

Cris

9 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Poste un exemple de ton ficher sur monpartage.fr, fais créer un lien que tu copies et reviens coller ici

    Cdlmnt
    Via
    0
  2. Cris68300 Messages postés 104 Statut Membre
     
    https://mon-partage.fr/f/GpdE58xb/

    Merci pour l'info, je ne connaissais pas...
    0
  3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    OK j'ai le fichier mais il n'y a pas de macro !!

    0
  4. Cris68300 Messages postés 104 Statut Membre
     
    Pourtant moi quand je l'ouvre via le lien, elle y est = bouton37
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Non je n'ai aucune macro associée au bouton
    Cette macro doit être dans une autre fichier de ton ordi
    Tu as du faire une copie du fichier pour l'envoyer mais sans macro
    Chez toi ça fonctionne donc mais pas chez moi

    Réenregistre ton fichier initial en extension xslm et reposte le sur mon partage
    0
  7. Cris68300 Messages postés 104 Statut Membre
     
    Ah ok, c'étais bien ça, merci encore:

    https://mon-partage.fr/f/Uwx5ZVu7/
    0
  8. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Toujours rien et en plus j'ai une erreur VBA à l'ouverture du fichier !
    On va procéder autrement

    Dis moi quel tri tu veux effectuer et je te mettrais la macro correspondante

    Mais le problème que tes valeurs sont issus de formules les extrayant d'une autre feuille

    "L'imagination est plus importante que le savoir."    A. Einstein
    0
  9. Cris68300 Messages postés 104 Statut Membre
     
    bizar...

    juste tres simple, tri par ordre des numero de facture, sans afficher les vides, mais mon probleme est que certaine ligne ensuite ne concorde plus...
    le client 9 se retrouve dans la facture 5
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Cela vient du fait qu'il y a des formules et non des valeurs
      Il faut procéder autrement
      Tu veux transferer toutes les infos de suivi devis dans suivi facture mais dans l'ordre des n°s ?
      Si c'est cela on fait un macro qui actualise suivi facture en allant chercher les n°s dans l'ordre, après par formules RECHERCHEV on rapatrie les données
      Est tu d'accord ?
      0
    2. Cris68300 Messages postés 104 Statut Membre
       
      Oui tu as tout compris!!!! C'est exactement ce que je veux faire! Uniquement pour les devis facturés, donc que si il y a un numero de facture dans le fichier suivi devis
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Cris68300 Messages postés 104 Statut Membre
         
        Voilà ton fichier avec la macro associée au bouton
        https://mon-partage.fr/f/BhuERglB/

        Également mis les formules adéquates dans les autres colonnes que j'ai verrouillées avant d'activer la protection de la feuille de manière à éviter un effacement ded'une formule par mégarde

        Cdlmnt
        Via
        0
    3. Cris68300 Messages postés 104 Statut Membre
       
      C'est vraiment super, juste un petit bug, plus tu clic sur mis a jour, plus sa se recopie et viens a la suite... peut etre le gerer via les doublons
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Cris68300 Messages postés 104 Statut Membre
         
        On peut le gérer en rajoutant une X dans une colonne de devis pour indiquer qu'il a été recopié
        0
  10. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    En fait pas besoin (il suffit de faire un NB.SI du n° facture sur la 1ere colonne, si le résultat est 0 on recopie le n°)
    J'ai modifié la macro en conséquence
    https://mon-partage.fr/f/zYNjH3JW/

    Cdlmnt
    Via
    0
    1. Cris68300 Messages postés 104 Statut Membre
       
      Tu es vraiment très fort, j'apprécie!!!!! et surtout merci de ta rapidité des réponses...
      juste dit moi comment enlever les protections de la case mise a jour... car d'un j'aimerais la déplacer mais de deux, surtout, j'aimerais voir le code histoire d'apprendre...

      Mais vraiment merci beaucoup!!!!!
      0
    2. Cris68300 Messages postés 104 Statut Membre
       
      Non il y a problème...
      la facture 1 s'affiche dans la cellule du titre et la ligne n'apparais pas dans le suivi des factures
      0
    3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Cris68300 Messages postés 104 Statut Membre
       
      Désolé , c'est de ma faute, petite erreur d'écriture dans la macro

      Remplace la par celle ci :
      Private Sub CommandButton1_Click()
      Dim LigneA As Long, ligneB As Long
      LigneA = Sheets("Suivi devis").Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
      ligneB = Sheets("Suivi facture").Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
      For n = 1 To Application.WorksheetFunction.CountA(Sheets("Suivi devis").Columns(8)) - 1
      num = Application.WorksheetFunction.Small(Sheets("Suivi devis").Columns(8), n)
      If Application.WorksheetFunction.CountIf(Sheets("Suivi facture").Columns(1), num) = 0 Then
      ligneB = ligneB + 1
      Sheets("Suivi facture").Range("A" & ligneB) = num
      End If
      Next
      End Sub


      Cdlmnt
      Via
      0
    4. Cris68300 Messages postés 104 Statut Membre
       
      Merci, mais visiblement non fonctionnelle... Mais merci quand meme
      0
    5. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Cris68300 Messages postés 104 Statut Membre
       
      Pourquoi non fonctionnelle ?
      Je te renvoie le fichier qui fonctionne chez moi
      https://mon-partage.fr/f/aQz43IOk/

      Cdlmnt
      Via
      0