Problème avec une macro d'enregistrement ?

Bonjour tout le monde,

J'ai récupéré la macro suivante qui permet d'indicer et de dater les enregistrement d'un fichier:

Mais j'ai une "erreur de compilation: erreur de syntaxe"

    
Public Chemin As String

Public NoIndice As Integer

Sub Programme()

    Mydate = Format ( Now (), "dd-mm-yy" )

    Chemin = ActiveWorkbook.Path

    Workbooks.Add

    ActiveCell.FormulaR1C1 = "Voici une exemple"

    Range( "A1" ).Select

    ' Recherche du N° d'indice

   RechercheFichiersPourIndice

    ActiveWorkbook.SaveAs Filename:= _

            Chemin & "\Synthèse carnet du " & Mydate & "-V" & NoIndice & ".xls" , _

            FileFormat:=xlNormal, Password:= "" , WriteResPassword:= "" , _

            ReadOnlyRecommended:= False , CreateBackup:= False

End Sub

Sub RechercheFichiersPourIndice()

    Dim Shortfilename As String

    Mydate = Format ( Now (), "dd-mm-yy" )

    Shortfilename = "Synthèse carnet du " & Mydate & ".xls"

    NameSansextension = Mid (Shortfilename, 1 , Len (Shortfilename) - 4 )

    With Application.FileSearch

        .Filename = NameSansextension

        .FileType = msoFileTypeExcelWorkbooks

        .LookIn = Chemin

        .SearchSubFolders = True

        .Execute

        With .FoundFiles

            If .Count = 0 Then

            Else

                NoIndice = .Count

            End If

        End With

    End With

End Sub

Function Shortfilename(LongFilename As String ) As String

    For i = Len (LongFilename) To 1 Step - 1

        If Mid (LongFilename, i, 1 ) = "\" Then Exit For

    Next

    Shortfilename = Mid (LongFilename, i + 1 , Len (LongFilename))

    NameSansextension = Mid (Shortfilename, 1 , Len (Shortfilename) - 4 )

End Function

Quelqu'un pourrait me dire d'ou cela viens ?

Merci de bien vouloir m'aider...

Mon fichier joint:

bonjour

avec ce code test aucune difficultés...j'ai juste forcé Noindice a un nombre car je ne fait pas la fonction de recherche de N°

fred

Sub test()
Mydate = Format(Now(), "dd-mm-yy")
chemin = ActiveWorkbook.Path
Workbooks.Add
ActiveCell.FormulaR1C1 = "Voici une exemple"
'RechercheFichiersPourIndice
NoIndice = 2
ActiveWorkbook.SaveAs Filename:=chemin & "\Synthèse carnet du " & Mydate & "-V" & NoIndice & ".xls", FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Bonjour

Fichier vide...

Bonjour Attonia

super merci Fred2406 çà marche à la perfection ^^

crdlt,

André

bonjour andré

je penses que le problème vient d'un copier-coller depuis internet qui insert des retours chariots entre les lignes

ActiveWorkbook.SaveAs Filename:= _

..

Chemin & "\Synthèse carnet du " & Mydate & "-V" & NoIndice & ".xls" , _

..

FileFormat:=xlNormal, Password:= "" , WriteResPassword:= "" , _

..

ReadOnlyRecommended:= False , CreateBackup:= False

une fois tout remis sur une seule ligne... plus de soucis

fred

re,

bien vu Fred2046

je n'avais pas vu

crdlt,

André

Bonsoir à tous !

Illustration des problèmes issus de recherches de solutions toutes prêtes sur le net On récupère le plus souvent des vieilleries qui, dans le mesure où elles étaient fonctionnelles dans le temps ne le sont plus...

Application.FileSearch ne fonctionne plus avec les nouvelles versions depuis 2007...

Poser la question sur comment faire telle chose aurait été plus efficace...

Cordialement.

bonjour à tous, fred2406, 78chris, Andre13 et MFerrand,

Effectivement 78chris, j'ai oublié d'enregistrer le fichier final avant de l'envoyer, milles pardons...

Merci fred2406 et Andre13, J'avais bien pensé à ce problème, mais n'avais pas réussi à remettre le code bout à bout à bout...

Merci également MFerrand pour ta remarque judicieuse, mais comment remplacer "Filesearch" pour une compatibilité avec Excel 2007

En tout cas, merci encore à tous pour votre aide salvatrice...

Mon fichier joint (enregistré... lol)

mais comment remplacer "Filesearch"

Utiliser une autre méthode ! Donc te pencher sur les autres méthodes permettant de manipuler des fichiers...

(NB- Et dans le cadre d'une recherche méthodologique, la recherche sur internet a tout son intérêt... ce que je critique en la matière, c'est la recherche de solutions ! Car la solution, celle qui répondra le mieux à ta problématique, elle découle de l'analyse de ta situation et des éléments avec lesquels tu opères... en élargissant ton champ d'investigation sur les méthodes, tu élargis ton éventail de possibilités et ta vision du problème... le chemin vers la solution utile ne sera pas moins long ni plus long (tout cela dépend de facteur en partie aléatoire) , mais par contre tu auras acquis des éléments qui ne vont pas s'effacer de ta mémoire, et demeureront réutilisables par la suite...)

Cordialement.

Bonsoir MFerrand,

Merci pour ton conseil judicieux...

Je me suis donc lancé dans la recherche de solution de remplacement, et pour cela, je suis le tuto :

http://www.info-3000.com/vbvba/syntheseplusieursclasseurs/index.php

Et je bute sur le problème suivant: La ligne surlignée m'affiche une erreur d'éxécution "9" L'indice n'appartient pas à la sélection

Mon fichier s'ouvre bien, mais il ne veut pas se fermer...

Sub MonTest()

Workbooks.Open "D:\001-VBA\0000-LABORATOIRE\000-Documentation\Tutoriels\Les tutos de info3000\Synthèse de plusieurs classeurs\Genève.xlsx"

Workbooks("D:\001-VBA\0000-LABORATOIRE\000-Documentation\Tutoriels\Les tutos de info3000\Synthèse de plusieurs classeurs\Genève.xlsx").Close

End Sub

As tu une explication ?

Merci de partager tes connaissances.

Essaie :

Sub MonTest()
    Workbooks.Open "D:\001-VBA\0000-LABORATOIRE\000-Documentation\Tutoriels\Les tutos de info3000\" _
     & "Synthèse de plusieurs classeurs\Genève.xlsx"
    Workbooks("Genève.xlsx").Close False
End Sub

ou bien :

Sub MonTest()
    Dim wb As Workbook
    Set wb = Workbooks.Open("D:\001-VBA\0000-LABORATOIRE\000-Documentation\Tutoriels\" _
     & "Les tutos de info3000\Synthèse de plusieurs classeurs\Genève.xlsx")
    wb.Close False
End Sub

Cordialement.

Merci MFerrand,

Ne cherche pas, j'ai trouvé la réponse plus loin dans le tuto.

Merci a+

Je n'ai pas cherché !

Mais du coup, je suis allé voir ton lien ! Les bras m'en tombent !

A commencer par ses considérations sur la sécurité, consternantes et dangereuses (et je ne suis pas du tout un maniaque en la matière.

Après des expression non qualifiées à tour de bras, sans même évoquer la question... Tout ce que je déconseille en permanence.

Et j'adore ce gonflement de biscottos en se proclamant programmeur de formation sur l'exemple de la simplication d'un bout de code enregistré concernant des couleurs. Vachement fort !!! Il aurait été mieux de montrer comment on se passe de l'enregistreur pour coder les couleurs... Mais peut-être faut-il le savoir ? Et il ne semble pas que ce soit le cas pour ce Monsieur.

Et arrive derrière une lamentation sur l'obligation de travailler cellule par cellule... On croit rêver ! Mais qu'on pourra aussi faire appel à d'autres techniques, notamment le copier-coller... Arrfff ! je m'en suis étranglé !

De la même façon qu'on peut toujours faire des boucles en toutes circonstances, on n'est jamais obligé d'opérer cellule par cellule, on peut toujours travailler avec des tableaux, on n'est jamais obligé de copier-coller (même si cela peut s'avérer plus pratique si on a à la fois des formules et des mises en forme à reproduire) et s'agissant de valeurs il est recommandé de s'en passer.

Là j'ai arrêté mais il en a peut-être pas mal d'autres du même acabit ! Tu me confirmes que sur le web ça peut être vraiment n'importe quoi ! Et que la première attitude à avoir c'est de ne pas s'y fier...

Cordialement.

Mille pardon MFerrand,

Loin de moi l'idée de te blesser, et si je l'ai fais, je te présente mes plus plates excuses...

Mais le fait est que je n'ai effectivement pas cliqué sur le lien que tu donnais, car j'ai pensé à tord que c'était le lien de mon post précédent pas un lien donnant la solution...

Comme j'avais trouvé la solution dans la suite du tutoriel, dans ma précipitation à vouloir stopper les recherche, j'ai fais n'importe quoi...

J'essaierais d'être plus attentif à l'avenir

Je te renouvelle ma gratitude pour l'aide précieuse et détaillée que tu nous apporte,

Rechercher des sujets similaires à "probleme macro enregistrement"