exportation de donnée

teamtat

XLDnaute Occasionnel
Bonjour,
Je voudrais savoir si ce que je veux faire est possible
dans mon classeur 1, feuille 1 j'ai un numéro de commande (qui ce trouve en C1) , en cliquant sur un bouton, je copie la valeur de la cellule C1 dans un autre classeur qui est fermé( classeur 2, feuille 1) qui lui contient aussi un numéro de commande ( en A1 par exemple) .
je sais pas si ma demande est bien clair
Merci

Code:
Dim Chemin As String, Fichier As String
Dim wk As Workbook
'*******Variable à définir**************
Chemin = "C:\Documents and Settings\peyret\Bureau\camille\"
Fichier = "TX_Asc_Controle_final_LB_v68_final.xls"
'***************************************
Application.ScreenUpdating = False
Set wk = Workbooks.Open(Chemin & Fichier)
ThisWorkbook.Worksheets("Feuil2").Range("C2").Copy
wk.Worksheets("Feuil4").Range("C4").PasteSpecial xlPasteAll, , , True
Application.CutCopyMode = True
wk.Close True

J'ai une erreur sur cette ligne

Code:
 ThisWorkbook.Worksheets("Feuil2").Range("C2").Copy

je ne voi pas pourquoi ???
 
Dernière édition:

teamtat

XLDnaute Occasionnel
Re : exportation de donnée

Sera t'il possible de faire la même chose avec une checkbox ?
Application.CutCopyMode peut ton le remplacer par autre chose car avant de copier les données dans l'autre classeur il me demande un enregistrement
 

teamtat

XLDnaute Occasionnel
Re : exportation de donnée

Dans mon 1er classeur j'ai des checkbox coché (par exemple checkbox1) et je voudrais que sa cauche automatiquement la checkbox1 de mon classeur 2 .

cutcopymode je voudrais remplacer le cut(=couper) par copier, es-ce possible ?
 

Minick

XLDnaute Impliqué
Re : exportation de donnée

Re,

Pas certain d'avoir compris pour CutCopyMode mais essaie ca:
Code:
Application.CutCopyMode = xlCopy

Pour le checkbox, tout depend du type de checkbox.
Si c'est un checkbox de la boite formulaire, il faudra alle lire l'etat de la cellule liee pour la copier dans le classeur 2.
Si c'est un checkbox de la boite a outils controles, il faudra aller lire sa propriete Value pour l'affecter au checkbox du classeur 2.
 

teamtat

XLDnaute Occasionnel
Re : exportation de donnée

désolé j'ai du mal a m'exprimer, trés dificil de se faire comprendre par écrit

Quand je fais annuler cela me copie bien mes info dans mon autre classeur,
on pourait pas cliquer sur annulé automatiquement ?
 

teamtat

XLDnaute Occasionnel
Re : exportation de donnée

Code:
Dim Chemin As String, Fichier As String
Dim wk As Workbook
'*******Variable à définir**************
Chemin = "C:\Documents and Settings\peyret\Mes documents\camille\"
Fichier = "TX_Asc_Controle_final_LB_v68_final.xls"
'***************************************
Application.ScreenUpdating = False
Set wk = Workbooks.Open(Chemin & Fichier)

ThisWorkbook.Worksheets("Saisie de données").Range("C2").Copy
wk.Worksheets("Masque saisie").Range("C4").PasteSpecial xlPasteAll, , , True

ThisWorkbook.Worksheets("Saisie de données").Range("C3").Copy
wk.Worksheets("Masque saisie").Range("G4").PasteSpecial xlPasteAll, , , True

ThisWorkbook.Worksheets("Saisie de données").Range("C1").Copy
wk.Worksheets("Masque saisie").Range("E4").PasteSpecial xlPasteAll, , , True

Application.DisplayAlerts = False

Application.CutCopyMode = True
wk.Close True

Application.DisplayAlerts = True

J'ai essayé ici mais ca ne fonctionne pas , je l'ai ai surement mal placé
 

Minick

XLDnaute Impliqué
Re : exportation de donnée

Si ton classeur (final) est en lecture seul ca ne fonctionnera jamais!!

Tu dis lors de la cloture du fichier de l'enregistrer, mais il est en lecture seul donc
tu auras tjrs le message d'enregistrement.

De plus tu peux simplifier ton code vu que finalement tu fais un copier/Coller
le pastespecial ne sert a rien (ni le transpose, vu que tu ne copies qu'une cellule a la fois)

Code:
Dim Chemin As String, Fichier As String
Dim wk As Workbook
'*******Variable à définir**************
Chemin = "C:\Documents and Settings\peyret\Mes documents\camille\"
Fichier = "TX_Asc_Controle_final_LB_v68_final.xls"
'***************************************
Application.ScreenUpdating = False
Set wk = Workbooks.Open(Chemin & Fichier)

ThisWorkbook.Worksheets("Saisie de données").Range("C2").Copy wk.Worksheets("Masque saisie").Range("C4")
ThisWorkbook.Worksheets("Saisie de données").Range("C3").Copy wk.Worksheets("Masque saisie").Range("G4")
ThisWorkbook.Worksheets("Saisie de données").Range("C1").Copy wk.Worksheets("Masque saisie").Range("E4")

wk.Close True
 

Discussions similaires