[Conseil] Travailler sur différents Excel

Bonjour à tous,

Je souhaite avoir quelques conseils pour coder en VBA. Je suis débutant.

J'ai deux documents :

Doc 1 : contenant différentes informations / caractéristiques et qui doit inclure mon futur code

Doc 2 : document référent

En fonction des différentes caractéristiques du document 1, je dois masquer des lignes du document 2 pour créer un troisième document.

Je vous remercie d'avance,

Amicalement.

Bonjour,

Merci de joindre des fichiers pour une aide adaptée du forum.

Sinon, regarde du côté de Récupérer et transformer (power Query). Il pourrait peut-être éviter l'usage de VBA.

Cdlt.

Merci pour ton conseil. Je vais essayer avec cette méthode.

Sinon, je vous mets en pièce jointe les deux documents.

Pour info, dans mon fichier macrotest, j'ai une macro qui permet d'identifier le numéro de la ligne de mon n° d'essai avec le côté de la porte.

En fonction de cette ligne, j'aurais différentes caractéristiques (0 = non et 1 = oui), que je dois seulement afficher dans le doc2. Je souhaite après enregistrer une copie de ce doc2.

12macrotest.xlsm (21.89 Ko)
9doc2.xlsx (9.01 Ko)

J'ai changé de méthode.

Actuellement, je copie une plage de cellule de mon fichier macrotest puis je l'enregistre dans un nouveau document.

Public Sub CreerClasseur()

Sheets("Feuil1").Range("A1:P1").Copy
Workbooks.Add
ActiveSheet.Paste Destination:=Sheets("Feuil1").Range("A1")
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs _
Filename:="C:\user\Desktop\doc3.xlsx"
Application.DisplayAlerts = True

End Sub

Est-il possible, de copier, cette fois-ci mon doc2 (toujours avec la macrotest), puis de faire de la mises en formes (cacher des lignes) pour l'enregistrer dans un nouveau document?

Est-ce applicable si mon doc2 se trouve dans un sharepoint ?

Je vous remercie d'avance,

Amicalement

J'ai trouvé une solution pour ce que je veux faire, mais c'est une solution empirique. Je pense qu'on peut faire beaucoup plus simple.

Comme je vous l'ai dis, je veux simplement copier la feuil1 du doc 2 pour l'enregistrer dans un autre document (que je dois créer).

Voici mon code, catastrophique :x

Public Sub CreerClasseur()

'Sheets("Feuil1").Range("A1:P1").Copy

' J'ouvre mon fichier DOC2

Dim Chemin As String, NomFichier As String

Chemin = "C:\Users\Desktop\"
NomFichier = "Doc2.xlsx"
Workbooks.Open Filename:=Chemin & NomFichier
Workbooks.Add
Application.DisplayAlerts = False

' Je crée & enregistre un nouveau doc (doc 4)

ActiveWorkbook.SaveAs _
Filename:="C:\Users\Desktop\doc4.xlsx"
Application.DisplayAlerts = True

' J'ouvre mon fichier précedemment crée (doc 4)

Chemin = "C:\Users\Desktop\"
NomFichier = "Doc4.xlsx"
Workbooks.Open Filename:=Chemin & NomFichier

' Je copie mon doc 2 dans le doc 4

Workbooks("Doc2.xlsx").Sheets("feuil1").Range("A2:M10").Copy Destination _
:=Workbooks("Doc4.xlsx").Sheets("feuil1").Range("A1")

End Sub

Est-ce que vous pouvez me le simplifier svp ?

Je vous remercie d'avance,

Amicalement

4macrotest.xlsm (28.93 Ko)
12doc2.xlsx (9.01 Ko)

Bonsoir, voila qui devrait t'aider:

 ' J'ouvre mon fichier DOC2

    Dim Chemin As String
    Dim NomFichier As String

    Chemin = "C:\Users\Asus\Desktop\Aide\"
    NomFichier = "Doc2.xlsx"

    'Créer un nouveau classeur excel
    Set NewBook = Workbooks.Add
    'Enregistre ce nouveau classeur
     NewBook.SaveAs Filename:="doc4.xlsx"

    ' Je copie mon doc 2 dans le doc 4
    Workbooks("Doc2.xlsx").Worksheets("Feuil1").Range("A2:M10").Copy
    Workbooks("doc4.xlsx").Worksheets("Feuil1").Range("A2:M10").PasteSpecial 
    Paste:=xlPasteValues

    'Je ferme et enregistre mon nouveau classeur
    NewBook.Close True

Bonjour,

Merci beaucoup, je me suis inspiré de ton code.

J'ai d'autres soucis, j'essaye de m'en sortir tout seul, sinon je reviens ici ;)

Bonjour,

Pour faire une copie d'un fichier tu peux aussi utiliser :

Sub test()
Dim source As String
Dim destination As String

  source = "C:\Users\Asus\Desktop\Aide\Doc2.xlsx"
  destination = "C:\Users\Asus\Desktop\Aide\doc4.xlsx"
  FileCopy source, destination

End Sub

Ok merci. C'est vrai que c'est plus simple

Rechercher des sujets similaires à "conseil travailler differents"