Excel - Page 2

Résolu
  1. Quand je fais le post 17 sa marche la premiere fois et aprés sa me dit: Microsfot office ne peut pas accéder au fichier.
    Est-ce normal?
    0
    1. il y a bien la fonction Date et Time mais le problème c'est que ca enregistre avec des formats :
      JJ/MM/YYYY et HH:MM:SS et le problème c'est que sur windows tu peut pas enregistrer avec des symboles ":" ou "/"
      chez moi la macro fonctionne...
      0
      1. Merci beaucoup pour votre aide, j'ai envfin reussi ce que je voulai avec le post 17.

        Encore merci,

        Cordialement.
        0
    2. bé je crois que j'avais mal copier le code car j'ai fermé mon fichier et j'ai recommencé et ca a marché.
      Cependant dans quel paramétre je dois toucher pour choisir la destination de l'enregistrment de mon fichier, car il se met automatiquement dans mes document mes moi j'aimerais le mettre dans un dossier spécifique...
      0
      1. bonjour, deux solutions :
        -1 tu connais le chemin et il est fixe dans ce cas :
        With ActiveWorkbook.Sheets(1).Range("a1:a500")
            Set c = .Find(ActiveWorkbook.Name, LookIn:=xlValues)
            If Not c Is Nothing Then
                firstAddress = c.Address
                Do
                    ActiveSheet.SaveAs Filename:="C:\le chemin\" & c.Offset(1, 0).Value
                                Set c = .FindNext(c)
                Loop While Not c Is Nothing And c.Address <> firstAddress
            Else
            ActiveSheet.SaveAs Filename:="C:\le chemin\" & [A1]
            End If
        End With
        -2 il change et est dans une case dans ce cas:
        ActiveSheet.SaveAs Filename:=[B1] & c.Offset(1, 0).Value
        ActiveSheet.SaveAs Filename:=[B1] & [A1]
        si le chemin se trouve dans la case B1
        0
        1. Avec l'option B1 ca donnerais ca?

          With ActiveWorkbook.Sheets(1).Range("a1:a500")
          Set c = .Find(ActiveWorkbook.Name, LookIn:=xlValues)
          If Not c Is Nothing Then
          firstAddress = c.Address
          Do
          ActiveSheet.SaveAs Filename:=[B1] & c.Offset(1, 0).Value
          ActiveSheet.SaveAs Filename:=[B1] & [A1]
          Loop While Not c Is Nothing And c.Address <> firstAddress
          Else
          ActiveSheet.SaveAs Filename:="C:\le chemin\" & [A1]
          End If
          End With-

          Ca serait le top si cela fonctionne!
          0
          1. si tu choisi de placer le chemin d'enregistrement dans la case B1 il faut modifier tous les enregistrement. ce code devrait fonctionner :
            With ActiveWorkbook.Sheets(1).Range("a1:a500")
                Set c = .Find(ActiveWorkbook.Name, LookIn:=xlValues)
                If Not c Is Nothing Then
                    firstAddress = c.Address
                    Do
                        ActiveSheet.SaveAs Filename:=[B1] & c.Offset(1, 0).Value
                                    Set c = .FindNext(c)
                    Loop While Not c Is Nothing And c.Address <> firstAddress
                Else
                ActiveSheet.SaveAs Filename:=[B1] & [A1]
                End If
            End With
            sans oublier que le chemin est du style : C:\....\
            0
        2. quand je rentre mon chemin dans ce code la cela ne fonctionne pas:
          ActiveSheet.SaveAs Filename:="C:\C:\Documents and Settings\f\Bureau\Remi\fiche\" & [A1]
          0
          1. c'est normale tu as deux fois C:\C:\ il faut en supprimer un:
            ActiveSheet.SaveAs Filename:="C:\Documents and Settings\f\Bureau\Remi\fiche\" & [A1]
            0
            1. Je vais fixer mon chemin ce serat plus simple, ca donne:
              With ActiveWorkbook.Sheets(1).Range("a1:a500")
              Set c = .Find(ActiveWorkbook.Name, LookIn:=xlValues)
              If Not c Is Nothing Then
              firstAddress = c.Address
              Do
              ActiveSheet.SaveAs Filename:="C:\C:\Documents and Settings\f\Bureau\Remi\fiche\" & c.Offset(1, 0).Value
              Set c = .FindNext(c)
              Loop While Not c Is Nothing And c.Address <> firstAddress
              Else
              ActiveSheet.SaveAs Filename:="C:\C:\Documents and Settings\f\Bureau\Remi\fiche\" & [A1]
              End If
              End With

              C'est ok?
              0
              1. normalement oui si tu applique la modif que je t'ais indiqué juste avant ^^
                0
            2. voici le code:
              Sub CommandButton1_QuandClic()
              With ActiveWorkbook.Sheets(1).Range("a1:a500")
              Set c = .Find(ActiveWorkbook.Name, LookIn:=xlValues)
              If Not c Is Nothing Then
              firstAddress = c.Address
              Do
              ActiveSheet.SaveAs Filename:="C:\Documents and Settings\fBureau\Remi\fiche\" & c.Offset(1, 0).Value
              Set c = .FindNext(c)
              Loop While Not c Is Nothing And c.Address <> firstAddress
              Else
              ActiveSheet.SaveAs Filename:="C:\Documents and Settings\f\Bureau\Remi\fiche\" & [A1]
              End If
              End With
              End Sub

              Il me met en erreuir cette ligne:

              ActiveSheet.SaveAs Filename:="C:\Documents and Settings\f\Bureau\Remi\fiche\" & [A1]
              0
              1. cher moi ca fonctionne, donc soit tu as mal recopier le code parce que je voi qu'il manque un "\" ici
                ActiveSheet.SaveAs Filename:="C:\Documents and Settings\f\Bureau\Remi\fiche\" & c.Offset(1, 0).Value 
                soit il n'y a rien dans les case d'enregistrement entre A1:A... soit le nom comporte un caractère indésirable comme [ , ] " ? ; : / \ ...
                recopy le message d'erreur renvoyé
                0
                1. Enfet moi quand je met ce code, ca me l'enregistre sous le nom de fiche or moi je veux que ca s'enregistre dans le dosier fiche!
                  0
                  1. http://www.cijoint.fr/cjlink.php?file=cj200911/cij2196RiQ.xls
                    voici le lien moi j'aimerais que ce fichier s'enregistre dans un dosier que j'ai nommé fiche
                    0
                    1. alors plusieurs choses déja...quelle est la feuille enregistrée ? la feuil1 ?
                      ensuite ou sont les nom avec avec lesquel tu compte enregistrer ta feuille ? en A1 de la feuil2? parce que pour l'instant il prend les valeurs qui sont dans la feuil2 entre B1 et B500
                      With ActiveWorkbook.Sheets(1).Range("b1:b500")

                      et pour l'instant ca marche pas parce que voici l'endroit ou il voudrait enregistrer le fichier:
                      "C:\Documents and Settings\thaillot\Bureau\Remi" & [B1]
                      alors qu'il faudrai que ce soit qqch dans ce genre:
                      "C:\Documents and Settings\thaillot\Bureau\Remi\fiche\" & [B1]
                      0
                      1. arrrrrrrrrrrrrr j'ai enversé feuil 1 et feuil 2, maintenant ca marche!!!
                        Désolé de vous avoir fait perdre du temps sur une erreur d'innatention.

                        Encore merci pour tout votre aide,
                        Cordialement.
                        0
                        1. si je peut me permetre , est-ce que l'affichage de la formule dans la case A1 est impératif ... on peut s'en passer et enregistrer le fichier directement avec les champs concernés ...
                          ActiveSheet.SaveAs Filename:="C:\Documents and Settings\thaillot\Bureau\Remi\fiche\" & [D5] & [D7] & [D9] & [I5]
                          
                          0
                          Précédent
                          • 1
                          • 2