Exporter des cellules dans un classeur fermé

Résolu/Fermé
grutz Messages postés 22 Date d'inscription mercredi 3 février 2016 Statut Membre Dernière intervention 20 septembre 2023 - Modifié par pijaku le 5/02/2016 à 15:00
grutz Messages postés 22 Date d'inscription mercredi 3 février 2016 Statut Membre Dernière intervention 20 septembre 2023 - 5 févr. 2016 à 18:02
Bonjour,
Après plusieurs recherche sur internet et des essais non concluant, je viens vers vous pour m'aider :

Je voudrais faire une macro VBA :

'Sur le classeur source (FeuilleSource)
'Remplir les éléments en cellule A1, B3, C2 et A10
'Cliquer sur le bouton imprimer
'Copie des éléments
' ouverture du classeur cible (FeuilleCible)
' aller à la première ligne non vide
' Collage des éléments
' Enregistrement du classeur cible
' Fermeture du classeur cible
' Revenir sur le classeur source
'Ouvrir une msgbox
'demander si nous voulons effacer les données du tableau après impression sans enregistrement ?
'Oui
' Imprimer le tableau
' Effacer
'Non
'Imprimer le tableau
'ouverture de la fenêtre d'enregistrement
'effacer le tableau
'retourner sur le tableau

Ce que j'ai essayé de faire :

Sub Feuilles()

Dim FeuilleSource As Excel.Worksheet, FeuilleCible As Excel.Worksheet
Dim NomSource As String, NomCible As String
Dim NumLigne As Long

NomSource = "C:\Users\S045000\Desktop\FeuilleSource.xlsm"
NomCible = "C:\Users\S045000\Desktop\FeuilleCible.xlsm"

    Set FeuilleCible = Workbooks.Open(NomCible).Worksheets("Feuil2")
    Set FeuilleSource = Workbooks(NomSource).Worksheets("Feuil1")
    
    NumLigne = FeuilleCible.Range("A1048576").End(xlUp).Row + 1
 
    With FeuilleSource
FeuilleSource.Range("A1").Copy

With FeuilleCible
FeuilleCible.Range("A" & LastRow + 1).PasteSpecial xlPasteValues
    
    ActiveWorkbook.Save
    ActiveWindow.Close
    
  
     Application.ScreenUpdating = False
    Set FeuilleCible = Nothing
    Set FeuilleSource = Nothing

End Sub
Mais ça ne fonctionne pas ...

Merci de m'apporter votre aide.
Cordialement
A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 5/02/2016 à 14:19
Bonjour

"Lastrow" non défini !

NumLigne = FeuilleCible.Range("A1048576").End(xlUp).Row + 1 

With FeuilleSource
FeuilleSource.Range("A1").Copy

With FeuilleCible
FeuilleCible.Range("A" & LastRow + 1).PasteSpecial xlPasteValues


deviendrait
NumLigne = FeuilleCible.Range("A1048576").End(xlUp).Row + 1 

FeuilleSource.Range("A1").Copy

FeuilleCible.Range("A" & numligne).PasteSpecial xlPasteValues


lignes inutiles:
Application.ScreenUpdating = False 
Set FeuilleCible = Nothing
Set FeuilleSource = Nothing

 Michel
0
grutz Messages postés 22 Date d'inscription mercredi 3 février 2016 Statut Membre Dernière intervention 20 septembre 2023
Modifié par grutz le 5/02/2016 à 18:03
Merci beaucoup mais dans l’après midi j'ai fais ça :

Distribution étant la feuille cible et fiche détection la feuille source

Sub Export_des_données_BDD()
Dim LastRow As Long

'Activer le classeur de destination
Workbooks.Open Filename:="I:\GPCHAUSR\DISTRIBUTION_FICHE.xlsm"

LastRow =Workbooks("DISTRIBUTION_FICHE.xlsm").Worksheets("Fiche_CR").Range("A" & Rows.Count).End(xlUp).Row


Workbooks("FICHE_DETECTION.xlsm").Worksheets("Fiche").Range("B4").Copy 'date de la fiche 'Copier les cellules désirées
Workbooks("DISTRIBUTION_FICHE.xlsm").Worksheets("Fiche_CR").Range("A" & LastRow + 1).PasteSpecial xlPasteValues 'Coller les cellules


'quitter le mode de copie (
Application.CutCopyMode = False

ActiveWorkbook.Save
ActiveWindow.Close


Application.ScreenUpdating = False


End Sub


Voila, ça fonctionne sur mon PC lorsque que j'utilise le classeur source (FICHE_DETECTION), MAIS des lors que je l'envoie par mail a mon collègues et qu'il l'utilise sur son poste, ca ne fonctionne pas ALORS que le fichier Cible ("DISTRIBUTION_FICHE") est sur un serveur partagé ...
Pourquoi chez mes collègue ça ne fonctionne?
0