Résultats pour "copier coller entre classeur"

7'202 résultats pour cette recherche

Bonjour à tous,

J'appelle a l'aide, j'ai actuellement plusieurs classeurs ( tous identiques sur le fond) et je voudrais récupérer chaque donnée des classeurs pour les regrouper dans un seul classeur.

Actuellement j'ai crée plusieurs macro mais j'ai toujours le meme problème qui revient ... erreur d'indice.

Je sais que ce n'est pas compliqué a réaliser mais je débute sur les macros...

Je voudrais qu'il y ait un bouton pour importer les classeurs. Je me doute qu'il y a deja eu des tutos la dessus mais j'ai du mal a comprendre mes erreurs ... si quelqu'un a une ame charitable pour m'aider ! et m'expliquer les détails de la macro ^^.

Voici le tableur qui sera le meme a chaque fois

Cordialement,

21remonte.xlsm (24.49 Ko)

Bonjour tous le monde,

Salut j'ai regardé un peu dans le forum mais les solutions que j'ai trouvé ne fonctionne pas . Voici ma problématique :

Je veux copier deux feuilles sur un fichier X vers Y sans ouvrir le fichier X.

Les feuilles à copier se trouvent dans le fichier X, la première feuille à copier " plan de transport" puis "planning général".

Voici le code que j'ai trouvé sur internet et j'essaie de l'appliquer sur mon fichier mais ça ne marche pas.

Sub ESSAI()
'
    Dim wk As Workbook 'classeur destinataire
    Set wk = Application.Workbooks.Open("c:\Users\souaab\Desktopstock\Nouveau dossier\stock pre-exp sans prix 2013.xlsm")

    ThisWorkbook.Sheets("plan de transport").Cells.Copy wk.Sheets("plan de transport").Range("A1")
    ThisWorkbook.Sheets("planning general").Cells.Copy wk.Sheets("plan de transport").Range("A1")

   wk.Close True
End Sub

Bien cordialement

Soukaina

Bonjour à tous,

J'essaie de réaliser la chose suivante :

Dans tous les classeurs du dossiers (à l'exception de celui nommée "SYNT")

Je cherche à ajouter une feuille nommée "CONF"

Afin d'y coller un tableau à partir de cellules copiées dans un classeur ouvert

J'ai rédigé ce code mais ça ne marche pas, votre aide serait vraiment la bienvenue :

(La création des feuilles se fait bien mais pas moyen de faire le copier - coller)

Sub ouvrirfichiers()

Dim Fichier As String, Chemin As String
Dim Wb As Workbook
Dim X As Long

Windows("SOURCETAB.xls").Activate
Sheets("CONS").Activate
Range("A1:M16").Select
Selection.Copy
Chemin = "C:\FEVRIER 2018\"
Fichier = Dir(Chemin & "*.xls")
Do While Fichier <> "SYNT.xls"
    Set Wb = Workbooks.Open(Chemin & Fichier)
    Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "CONSO"
    With Sheets("CONSO")
        Range("A1").Select
        .Paste
        Cells.Select
            Selection.Replace What:="='C:\[SOURCETAB.xls]Feuil", Replacement:="=Feuil", _
        LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
        False, ReplaceFormat:=False
Application.AlertBeforeOverwriting = False
Wb.Save
Wb.Close

Set Wb = Nothing
End With

Fichier = Dir
Loop
End Sub

Bonjour à tous,

je souhaite effectuer dans un fichier (book3) la somme de deux colonnes presentes dans deux autres fichiers distincts (respectivement dans book1 et book2).

J'ai effectué la macro ci-dessous mais j'obtiens un message d'erreur

"Sub nom()

Application.Workbooks.Open "C:\Users\nom\Desktop\exercice tests\Book1.xlsx"

Application.Workbooks.Open "C:\Users\nom\Desktop\exercice tests\Book2.xlsx"

For i = 1 To 10

Workbooks("Book1.xlsx").Activate

Cells(i, 1).Copy

Cells(i, 1).Copy

Workbooks("Book3.xlsm").Activate

Range("A1").Select

Selection.Paste

Workbooks("Book2.xlsx").Activate

Cells(i, 1).Select

Cells(i, 1).Copy

Workbooks("Book3.xlsm").Activate

Range("B1").Select

Selection.Paste

Next

End Sub"

Message d'erreur : "Run-time error '1004':

Application-defined or object-defined error"

Savez-vous ce que cela signifie?

Cdt

Bonjour,

Je souhaite faire une macro qui copie/colle les données d'un classeur dans un autre afin de faire une mise à jour. Je sais réaliser cette commande entre feuilles mais pas entre classeurs. Est-ce que c'est le même principe ?

Merci de votre réponse

Bonjour à tous ,

J'aimerais effectuer un copier/coller d'une plage de valeurs d'un classeur vers un autre à l'aide d'un bouton associé à une macro. Soit par exemple :

  • un classeur 1, feuille 1, avec une plage de valeur (A1:AA8765) que je souhaite copier
  • un classeur 2, feuille 1, dans lequel je souhaiter coller la plage de valeur à partir d'une cellule, prenons A2 par exemple

Pour copier ces valeurs, j'aimerais simplement avoir à ouvrir les 2 classeurs et cliquer sur un bouton situé sur le classeur 2, feuille 1. Est-ce possible d'après vous ?

Si vous avez d'autre idée bien évidemment je suis preneur !

Merci par avance !

Bonjour à tous!

Je reviens vers vous pour améliorer une macro dont vous avez déjà aidé il y a quelque mois.

Premièrement, la macro génère un nouveau classeur dans un nouveau dossier aussi créé.

  • Le dossier et le classeur généré sont nommé via la valeur de plusieurs cellule de la feuille ("Fiche Client").
  • Le nouveau classeur généré comporte 5 onglet: ("Base Donnés", "Modele Facture", "Soumission Paysager", "Soumission Menuiserie", "Fiche Client").

Dans les feuilles suivantes et les cellules indiqués, il y a des liste déroulante qui puise l'information dans la ("Base donnés") :

  • Soumission Paysager: ("D26:D60")
  • Soumission Menuiserie: ("D26:D55")

Voici mon problème: Les listes déroulantes ne se copie pas dans les feuilles ("Soumission Paysager") et ("Soumission Menuiserie") du nouveau classeur généré.

Je ne comprend pas se qui est nécessaires puisque les feuilles sont logiquement entièrement copier/collé et que tout le reste marche...

Voici le code que j'aimerais améliorer:

Sub creation_fiche_client()

Dim chemin_du_dossier As String

Dim NomDossier As String

Dim sh1 As Worksheet, sh2 As Worksheet

Dim reponse As String

Set sh1 = Worksheets("Nouveau Client")

Set sh2 = Worksheets("Fiche Client")

If sh1.Cells(4, 2) = "" Then

MsgBox "Il faut créer une fiche client"

Else

reponse = MsgBox("La fiche client a été transféré à la base de données?", vbYesNo + vbQuestion, "Créer le dossier Client")

If reponse = vbYes Then

sh2.Range("B1:B30") = sh1.Range("B1:B30").Value

Worksheets(Array("Base Donnés", "Modele Facture", "Soumission Paysager", "Soumission Menuiserie", "Fiche Client")).Copy

Worksheets("Fiche Client").Select

End If

End If

NomDossier = Sheets("Fiche Client").Range("B2") & " " & Range("B3") & " " & Range("B4")

NomFiche = Sheets("Fiche Client").Range("B2") & " " & Range("B3") & " " & Range("B4") & " " & Range("B25")

chemin_du_dossier = "C:\Users\Pc\..." & NomDossier

chemin_du_dossier_steve = "C:\Users\..." & NomDossier

On Error Resume Next

MkDir (chemin_du_dossier)

MkDir (chemin_du_dossier_steve)

ActiveWorkbook.SaveAs Filename:=chemin_du_dossier & "\" & NomFiche & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled

ActiveWorkbook.SaveAs Filename:=chemin_du_dossier_steve & "\" & NomFiche & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled

MsgBox ("La création du dossier est maintenant terminé!")

ActiveWorkbook.Close savechanges:=False

End Sub

Nous utilisons deux ordinateur différents ayant un chemin d'accès différent c'est pourquoi dans le code il y a deux chemin lors de la création du dossier et du classeur.

Je vous remercie pour tout commentaire!

Steve

Bonjour,

je suis un gros debutant en VBA, j'aimerais avoir votre aide svp.

Chaque jour, je recois un certain nombre de fichiers (nommé Fiche) que je dois centraliser dans un autre fichier nommé Recap.

1-Nom du fichier recu: FICHE, Fiche ou ficheNC

2-Nom du fichier qui doit recevoir les données: Recap

3-Fonction de la macro: Prendre l'information de la ligne 135 de la premiere feuille du fichier FICHE et allez le coller dans le fichier Recap à partir de la ligne 2. Par contre si la macro s'appercoit que l'information contenue dans la cellule "B" du fichier FICHE se retrouve déja dans le fichier Recap alors au lieu de copier les informations a la suite des autres il remplace l'information déja existante. Et aussi même si le nom du fichier recu change a chaque envoi mais contient le mot "fiche", le macro le prenne en compte.

A partir de recherches sur les forums je suis arrivé au macro dans la piece jointe (

5recap.xlsm (13.75 Ko)

) mais a chaque fois que je l'excute les données se collent toujours à la ligne 2 et ecrase les anciennes données.

J'ai besoin de votre aide.

Merci d'avance.

6fiche-2.xlsx (10.04 Ko)
4fiche-1.xlsx (10.29 Ko)

Bonjour à tous,

Voilà j'ai un petit soucis..

Je souhaiterais copier le contenu de la feuille "COUVERCLES" du fichier "COUVERCLES.csv" pour le coller (en écrasant les données précédentes) à la place des onglets "COUVERCLES" dans les fichiers "ORDO 2R" et "ORDO 4R".

La macro doit se faire dans le fichier "ORDOMACRO"

Pourriez-vous m'aider s'il vous plait ?

Voici les fichiers :

Source :

6couvercles.csv (12.54 Ko)

Destination 1 :

5ordo-2r.xlsm (36.22 Ko)

Destination 2 :

2ordo-4r.xlsm (41.75 Ko)

Macro doit être écrite dans ce fichier :

5ordomacro.xlsm (8.54 Ko)

Merci

Bonjour à tous,

Dans le cadre d'un projet d'entreprise, je souhaite copier la feuille d'un classeur fermé et la coller dans une nouvelle feuille d'un classeur ouvert (celui depuis lequel j'exécute ma macro). Je suis déjà aller voir sur internet mais impossible de trouver quelque chose qui fonctionne ..

Voici mon code :

Sub RequeteClasseurFerme()

    Dim Cn As ADODB.Connection
    Dim Fichier As String
    Dim NomFeuille As String, texte_SQL As String
    Dim Rst As ADODB.Recordset

    'Définit le classeur fermé servant de base de données
    Fichier = "E:/INSA - GCE/Projet méthode/Documents internes/Tableau de sélection de matériels/00A001 - Test 1/03 - DOSSIER MATERIELS/Tableau de sélection de matériels.xlsm"
    'Nom de la feuille dans le classeur fermé
    NomFeuille = "Feuil1"

    Set Cn = New ADODB.Connection

    '--- Connection ---
    With Cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & Fichier & _
            ";Extended Properties=Excel 8.0;"
        .Open
    End With
    '-----------------

    'Définit la requête.
    '/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
    texte_SQL = "SELECT * FROM [Feuille de mission$]"

    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute(texte_SQL)

    'Ecrit le résultat de la requête dans la cellule A1
    Range("A1").CopyFromRecordset Rst

    '--- Fermeture connexion ---
    Cn.Close
    Set Cn = Nothing

End Sub

Lorsque j'exécute celui-ci, j'ai une erreur (Erreur de complilation : Type défini par l'utilisateur non défini) et je ne sais pas pourquoi de plus, ma première ligne se surligne :

Cn As ADODB.Connection

J'attend vos réponses avec impatience !

Bonjour à tous,

Je souhaite copier une feuille d'un classeur fermé dans un classeur ouvert. Ayant des connaissances assez limitées en VBA, j'ai essayé de lire des tutoriels ( le silkyroad sur développez.net) mais sans réel succès. Par ailleurs, j'ai trouvé sur le forum un petit bout de code qui permet d'atteindre mon objectif.

Sub Test()

Dim ConCL As Object

Dim Rs As Object

Dim FeuilleDest As Worksheet

Dim NomFichier As String

Dim FeuilleSource As String

Dim Plage As String

'chemin et nom du classeur cible

NomFichier = "D:\Users\ighilahrizrya\Desktop\SRM 2018 11 27 22H30.xlsm"

'plage à récupérer

Plage = "A:Z"

'nom de la feuille où on doit récupérer les valeurs, à adapter...

FeuilleSource = "Feuil1"

'connexion au classeur

ConnexionCLasseur ConCL, NomFichier, Rs

'effectue la récup

With Rs

.CursorType = 1

.LockType = 3

.Open "SELECT * FROM `" & FeuilleSource & "$" & Plage & "` ", ConCL

If Not Rs.EOF Then

Set FeuilleDest = ActiveWorkbook.Worksheets("Feuil1")

FeuilleDest.Range("A1").CopyFromRecordset Rs

Else

'si la feuille est vide...

MsgBox "Aucun enregistrement renvoyé.", vbCritical

End If

End With

ConCL.Close

Set Rs = Nothing

Set ConCL = Nothing

End Sub

'Sub de connexion (séparée ici pour plus de lisibilité)

Private Sub ConnexionCLasseur(ConnexCL As Object, _

Fichier As String, _

Optional Rs)

'création de l'objet en relation tardive (évite de cocher la référence)

Set ConnexCL = CreateObject("ADODB.Connection")

'si demandé, crée l'objet pour le jeu d'erregistrements

If Not IsMissing(Rs) Then

Set Rs = CreateObject("ADODB.Recordset")

End If

'ouvre la connexion

ConnexCL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=" & Fichier & ";" & _

"Extended Properties=""Excel 8.0;HDR=NO;IMEX= 2;"""

End Sub

Des que je lance la macro, une erreur s'affiche :

' -2147467259 (80004005)'

External table is not in the format expected

Des que je clique sur débogage, une partie du code est en surbrillance :

ConnexCL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=" & Fichier & ";" & _

"Extended Properties=""Excel 8.0;HDR=NO;IMEX= 2;"""

Je travaille avec la version Excel 2013. J'ai par ailleurs activé le Microsoft Active x Data objects.

Il me semble que le problème vient du fait que le classeur cible ( celui ou je vais récupérer mes données) n'est pas au bon format.

Plus précisément, il s'agit d'un classeur avec une seule feuille. Dans celle ci il y a une colonne et une ligne avec des noms et pour chaque couple ligne-colonne correspond une valeur numérique. En gros il s'agit d'une matrice.

Si l'un de vous à la réponse, ca m'aiderait beaucoup pour mon travail.

Merci d'avance

Bonjour.

Je voudrais importer les donnees du classeur "Ruis.xlsx" dans mon classeur active: "Stat.Xlsm". avec le code suivant:

Sub Importer()

Dim Chemin As String, Fichier As String

Chemin = "D:\STATISTIQUES\"

Fichier = "Ruis.xls"

Application.DisplayAlerts = False

ThisWorkbook.Names.Add "BDR", _

RefersTo:="='" & Chemin & "[" & Fichier & "]BaseR'!$A$2:$D$5"

Sheets("Base").Select

derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row

With Sheets("Feuil2")

.[A2:D5] = "=BDR"

.[A2:D5].Copy

Sheets("Base").Range("A" & derlig + 1).PasteSpecial xlPasteValues

.[A2:D5].Clear

End With

Application.DisplayAlerts = True

End Sub

Le probleme est que je colle les cellules A2:D5 du classeur "Ruis.xlsx" qui grossit de jour en jour. Est-il possible de remplacer A2:D5 par un nom de cellules dynamiques.

Merci.

Bonjour, je me présente rapidement, aucune formation excel / VBA, j'ai créé différents programmes plus ou moins gros grâce à Internet et surtout au forum.

Aujourd'hui je bloque sur un code qui pourtant me parait simple.

Bref je m'explique:

J'ai un classeur avec une multitude de résultat via différentes formules et données. soit une multitude de cellules à copier!

Je souhaiterais sauvegarder l'ensemble de ces cellules vers un autre classeur. sans copier les formules mais plutôt les résultats.

Merci pour votre aide.

bonsoir a tous

cela fait depuis un bon moment que je cherche

le moyen de copier des lignes d un classeur A vers un classeur B

alors je vais essayer de m expliquer le plus clairement possible

nous avons un classeur A avec tous nos cleints

pour chaque client nous avons +- 10 renseignements le concernant

a travers un agenda nous utilisons cette base de donnée

c est a dire que lors d une prise de rdv on copie de façon automatique le client avec la date du jour du rdv et certains des renseignements du client vers le classeur B

a présent un opérateur va modifier 3 cellules ou plus sauf la date du jour qui sera protégée pour éviter toute falsification

jusque la tout va bien

ce que l on désire par la suite c est qu une fois que l opérateur a changer les renseignements du client XXXXX sur le classeur B qu il puisse via un bouton ou autre l exporter dans le classeur A ou ce client XXXX serait retrouve et dont les nouveaux renseignements serait remis a jour

merci de l aide

Bonjour,

Je cherche à copier le contenu d'une feuille nommée 'BD-clients' présente dans le fichier clients.xlsx vers

La fonction suivante est appelé au démarrage par le classeur de destination, mais la recopie ne se fait pas .

Je ne trouve pas le problème, pouvez vous m'aider svp ?

Source :

feuille 'BD-client' présent dans "clients.xlsx"

ce contenu copié grâce a cette fonction vers

Destination :

feuille 'Clients' dans le fichier "main.xlsx"

Option Explicit
Public Const Fichier  As String = "clients.xlsx"
Public Chemin As String

Sub chargement_fichier_clients()

    Dim wbk_destination As Workbook
    Dim wbk_source As Workbook
    Dim fileStr As String

    'add your own file path
    fileStr = ThisWorkbook.Path & Application.PathSeparator

    Set wbk_source = Workbooks.Add(fileStr & Fichier)   ' Source
    Set wbk_destination = ActiveWorkbook      ' Destination  

    'wbk_source.Sheets("BD-Clients").Copy After:=Workbooks("WorkbookNameYouCopyCodeInto").Sheets("Clients")
    wbk_source.Sheets("BD-Clients").Copy After:=wbk_destination.Sheets("Clients")
    wbk_source.Saved = True
End Sub

Lorsque la copie fonctionnera, est il possible de faire afficher un message d'alerte au cas ou le fichier source serait inexistant ou non trouvé ?

Merci beaucoup,

Bonjour,

je recherche une macro qui me permette en un clic de copier des colonnes définies (ça sera tjs le même intitulé de colonne) d'un classeur vers un autre classeur.

je joint les deux fichiers.

concrètement j'ouvre les deux fichiers et je voudrais que lorsque l'on active la macro dans mon classeur numéro 1, les colonnes "Fiche", "numéro client", "fournisseur", "décomptes", "montant remboursé", "date exécution", "remise%" et "dif" de mon classeur numéro 2 se copient dans mon classeur numéro 1.

A noter qu'il n y aura tjs que deux fichiers ouverts, que les intitulés des colonnes que je veux copier seront tjs les mêmes, mais que le nom des fichiers lui pourra changer.

J'espère que quelqu'un pourra m'apporter son aide.

Bonne journée à tous et merci d'avance

Eno

Bonjour à tous,

Je suis utilisateur excel débutant, et je rencontre un problème.

J'ai un fichier excel contenant un tableau (voir fichier joint)

J'aimerais que les lignes complètes contenant "Liege" soient copiées automatiquement dans un classeur existant contenant déjà des données (attention je souhaiterais que les valeurs des cellules soient copiées, pas les formules).

Apparemment il faudrait faire ça en VBA mais je ne sais comment faire...

Actuellement je fais un filtre puis copier - collage spécial valeur mais vu la taille de mon tableau chaque semaine, c'est très très contraignant....

Merci d'avance pour votre aide

Frederic

tab

Bonjour,

j'ai deux classeurs excel -un classeur A (Baseinscr.xlsm) qui est fermée et un classeur B (Base_YENNE.xlsm) qui est ouvert.

Je voudrais faire entre guillemet faire un copier coller de (B7:W600000) de la Feuil2 du classeur A depuis le classeur B

Comment faire

POur le moment J'ai ce code mais qui fonctionne seulement quand le classeur est ouvert.

Sub ImportBASEYenne()
    Windows("Baseinscr.xlsm").Activate
    Sheets("Feuil2").Select
    Range("B2:W6000").Select
    Selection.Copy
    Windows("Base_YENNE.xlsm").Activate
    Range("B2:W6000").Select
End Sub

Merci par avance

Bonjour,

Je débute en vba et je rame sur le transferts de feuilles.

J'ai un classeur 1 où j'ai crée un planning avec 52 feuilles nommées planning sem01 à planning sem52.

Je voudrais rajouter et gérer ce planning depuis un autre fichier existant nommé monautoentreprise2.

Mais quand je sélectionne les 52 feuilles et que j'essaie de les copier à la fin de l'autre classeur.il me dit que c'est impossible car elles disposent de tableaux.

Hors je voudrais garder la mise en page et forme de mon planning.

auriez vous un code pour automatiser ce transfert sans le faire feuille par feuille?

Merci beaucoup de votre aide,

nathalie

A partir du classeur "Test1R" qui fonctionne nickel maintenant, grâce à vous, je voudrais que le contenu et le commentaire affiché (grâce au code qui le lie à la feuil2) de la cellule B8 arrive automatiquement dans le classeur "Global" à l'endroit voulu.

Pour se faire, j'y ai mis la formule (dans Global.xls) =[Test1R.xls]Feuil1'!$B$8

J'ai ma donnée qui y apparait, mais le commentaire (lui) ne suit pas.

Y a-t-il une astuce ou un code ?

Recherches récentes

queryusfmasquer lignes filtreshourpmucalcul satisfaction clientcsv recherche vbavba stextrecherche csvcsv rechercheliste deroulantecongeparc autosatisfaction clientscrollbar listboxmodestelotocrackcalendrier dynamiquekeno