Probleme macro

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. 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
    1. https://mon-partage.fr/f/GpdE58xb/

      Merci pour l'info, je ne connaissais pas...
      0
      1. OK j'ai le fichier mais il n'y a pas de macro !!

        0
        1. Pourtant moi quand je l'ouvre via le lien, elle y est = bouton37
          0
          1. 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
            1. Ah ok, c'étais bien ça, merci encore:

              https://mon-partage.fr/f/Uwx5ZVu7/
              0
              1. 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
                1. 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. 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. 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
                  3. @Cris68300Voilà 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
                  4. 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
                  5. @Cris68300On peut le gérer en rajoutant une X dans une colonne de devis pour indiquer qu'il a été recopié
                    0
                2. 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. 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. 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. @Cris68300Dé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. Merci, mais visiblement non fonctionnelle... Mais merci quand meme
                    0
                  5. @Cris68300Pourquoi non fonctionnelle ?
                    Je te renvoie le fichier qui fonctionne chez moi
                    https://mon-partage.fr/f/aQz43IOk/

                    Cdlmnt
                    Via
                    0