Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Coller valeur dans autre classeur

carlos

XLDnaute Impliqué
Supporter XLD
Bonjour,
j'ai un petit souci que je n'arrive pas à regler.
J'ai 2 classeurs : Classeur1 et Classeur2.
Je voudrais que la valeur de la cellule A1 du classeur 1 soit coller en A1 du classeur 2.
Je ne veux pas utiliser ce code : Classeur1.Range("A1").Copy Classeur2.Range("A1")
J'utilise ce code pour le faire mais ca bug.
Dim Nomdest As String
Nomdest = "Classeur2"
With Workbooks(Nomdest)'CA BLOQUE ICI
.Range("A1").Value = Range("A1").Value
End With
 

Pièces jointes

  • classeur1.xlsm
    19.8 KB · Affichages: 4
  • Classeur2.xlsm
    17 KB · Affichages: 3

patricktoulon

XLDnaute Barbatruc
bonjour
ben c'est par ce qu'il n'est pas ouvert ton classeur2 ou il faut mettre l'estension

de plus a quoi te sert de copier A1 de classeur1 à A1 de classeur2 sachant que des que tu ouvrira ton userform dans classeur2 la A1 sera remplacer par "01/01/2016"

bref dans tout les cas avec la méthode open c'est comme ceci
VB:
Sub test()
    Dim Nomdest As String, wbk As Workbook
    Nomdest = ThisWorkbook.Path & "\Classeur2.xlsm" 'le classeur2 est au meme endroit que le classeur1
   Application.ScreenUpdating = False
   Set wbk = Workbooks.Open(Nomdest)
    With wbk
        .Sheets(1).Range("A1").Value = ThisWorkbook.ActiveSheet.Range("A1").Value
        .Save: .Close
    End With
End Sub
 

patricktoulon

XLDnaute Barbatruc
et ben travaille en xlsm xls c'est le format inférieur à 2007
apres si tu veux oui on peut faire quelque chose
mais c'est vraiment du gaspillage d’énergie
t'es pas ecolo toi

allez on extrapole
VB:
Sub test()
    Dim Nomdest As String, wbk As Workbook
    Nomdest = ThisWorkbook.Path & "\" & Dir(ThisWorkbook.Path & "\Classeur2.xls*") 'le classeur2 est au meme endroit que le classeur1
   If Nomdest = "" Then MsgBox "pas de fichier de ce nom ":exit sub
   Application.ScreenUpdating = False
   Set wbk = Workbooks.Open(Nomdest)
    With wbk
        .Sheets(1).Range("A1").Value = ThisWorkbook.ActiveSheet.Range("A1").Value
        .Save: .Close
    End With
End Sub
purée vous êtes dur en affaire
 

patricktoulon

XLDnaute Barbatruc
alors le nom doit comporter un espace ou autre
met ca dans un module et regarde si le message donne le bon chemin
VB:
Sub test2()
 Nomdest = ThisWorkbook.Path & "\" & Dir(ThisWorkbook.Path & "\Classeur2.xl*") 'le classeur2 est au meme endroit que le classeur1
 MsgBox Nomdest
End Sub
 

Discussions similaires

  • Question
Microsoft 365 Code VBA
Réponses
10
Affichages
748
Réponses
8
Affichages
404
Réponses
7
Affichages
591
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…