Microsoft 365 Simplification de mon code VBA

Keiko

XLDnaute Occasionnel
Bonjour,

voici un code qui fonctionne mais je souhaiterais voir si il ne peut pas être amélioré.
Le code permet de choisir un fichier fermé, de l'ouvrir et copier les cellules choisies et de les coller dans le fichier ouvert en fermant tout de suite après une fois coller le fichier à la base fermé.

J'ai plusiuers cellules a copier et je voulais savoir si on ne pouvait simplifier le codage afin de toutes les ajouter sans devoir tout le temps recopier ce code
"NewBook.Activate
Sheets("L").Range("G14:G21").Copy
nomUn.Activate
Worksheets("L").Range("G14:G21").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False"

De plus, ca fonctionne quand même mais je recois tout le temps à la fin un message me disant "Vous n'avez pas sélectionné de fichier" alors que tout a fonctionné.

Merci pour votre aide !

VB:
Sub recuperer()

Dim QuelFichier
    QuelFichier = Application.GetOpenFilename("Excel, *.xlsm")
    If QuelFichier <> False Then
          
        Copie (QuelFichier)
          
        End If
    
        MsgBox "Vous n'avez pas sélectionné de fichier"
        
End Sub
  
Sub Copie(QuelFichier)
Dim nomUn, NewBook As Workbook 'Modification ici
Set nomUn = ThisWorkbook
 
Set NewBook = Workbooks.Open(QuelFichier)  'Modification ici
NewBook.Activate
Sheets("L").Range("D14:D21").Copy
nomUn.Activate
Worksheets("L").Range("D14:D21").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
NewBook.Activate
Sheets("L").Range("G14:G21").Copy
nomUn.Activate
Worksheets("L").Range("G14:G21").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
  
 
NewBook.Close False
 
End Sub
 

soan

XLDnaute Barbatruc
Inactif

Discussions similaires

Réponses
5
Affichages
112

Statistiques des forums

Discussions
312 193
Messages
2 086 058
Membres
103 110
dernier inscrit
Privé