Copier/coller Niveau 2

Bonjour,

Je souhaiterais effectuer un suivi de chantier. Pour celà, j'ai un premier tableur qui se rempli automatiquement appelé R1.

J'aimerais que les informations de cet onglet R1 de la colonne A4 à AG4 se copier automatiquement en actionnant un bouton et se colle sur les mêmes cases mais sur un autre fichier.C:\Utilisateurs\...(sans focrément avoir besoin de l'ouvrir préalablement).

Il faudrait également que toutes les informations se mettent les unes à la suite des autres. Pour éviter qu'à chaque nouvelle importation les dernières saisies soient effacés.

Est-ce possible ?

Merci

Bonjour,

Bien sûr que cela est possible, en revanche il faudrait un peu plus d'informations :

Ce que j'en comprend pour l'instant :

Tu as un fichier X avec un onglet R1 dont tu veux copier les colonnes A4 à AG4 dans un autre fichier. Jusque la OK.

Quel est le nom et le chemin du fichier visé pour faire la sauvegarde ? Est-il au même endroit que le fichier d'origine ? Sur ton fichier d'origine, tes infos sont toujours remplies dans l'onglet R1 du même fichier dont tu remplaces à chaques fois les valeurs, ou tu as un fichier X avec un onglet R1 par chantier dans différents fichiers excel ?

Etc Etc ...

Le mieux serait également de joindre tes fichiers d'origine et d'arrivée via le forum ou cjoint en supprimant les données confidentielles.

Cordialement.

Bonjour,

Voilà ce que j'ai pour l'instant

Sub Bouton1_Clic()

Sheets("Registre opérations").Select

Range(Cells(4, 1), Cells(4, 33)).Copy

Workbooks.Open Filename:= _

"\\192.168.4.150\Volume_1\PERMEA LUTTERBACH\Spécial\Tableur Gestion des Dossiers 2011-Final.xls"

Sheets("Registre_Nom_opérateur_Société").Select

Cells(62, 1).Select

ActiveSheet.Paste

End Sub

Pour expliquer:

Mon premier fichier "Registre opérations" ou je copie mes infos.

Mon second dans `"\\192.168.4.150\Volume..." dans l'onglet "Registre_Nom_opérateur_société" ou je colle.

Mon prog fonctionne, seul deux problemes percistent.

1° Lorsque je colle, des "0" remplace les informations telle que des adresses...et autre. Il faudrait effectué un collage "Valeur". Mais comment le programmer ?

2° Cells(62, 1).Select est là ou les cellules doivent être collé. Mais je voudrais qu'elles se collent toujours à la suite des précédentes déja contenu dans le fichier "\\192.168.4.150\Volume..." dans l'onglet "Registre_Nom_opérateur_société"

Puis j'aimerais encore amélioré la chose en: Enregistrant automatiquement et en me refermant le document.

Je pense que pour la fermeture je dois intégrer :

Workbooks.Close Filename:= _

"\\192.168.4.150\Volume_1\PERMEA LUTTERBACH\Spécial\Tableur Gestion des Dossiers 2011-Final.xls"

Sheets("Registre_Nom_opérateur_Société").Select

Mais pour la sauvegarde, je sèche...

Merci beaucoup !

Va dans l'onglet développeur, clique sur enregistrer une macro, fais ta sauvegarde comme tu le ferais normalement sous Excel puis arrete la macro, et regarde le code qui a été écrit pour sauvegarder

Sub Enregistrer_tableau()

ActiveWorkbook.Save

End Sub

Voilà pour la fonction enregistrer, mais il me manque toujours l'enregistrement et la fermeture du second fichier qui s'ouvre automatiquement...

Bonjour.

1- Pour le collage spécial: (Cellule B3 à copier par exemple)

Tu fais:

Workbooks(1).Cells(3,2).Copy Workbooks(2).sheets(1).cells(3,2).pasteSpecial xlPasteValues

Workbooks(1) correspond au premier classeur ouvert, et donc workbooks(2) est le deuxième. De cette façon, ça évite quelques problème notamment quand on recherche le classeur actif.

2- Je ne comprends pas trop: Les cellules doivent être collées à la suite des autres mais dans quel sens? Un exemple tout de même si c'est dans la colonne A:

Workbooks(1).Cells(3,2).Copy Workbooks(2).sheets(1).Range("A65536").End(xlUp)(2).pasteSpecial xlPasteValues

3- Pour la fermeture de ton fichier:

With Workbooks(2)
.Save
.Close
End With

Je n'ai pas fais de test, alors j'espère ne pas avoir fais d'erreurs. en tout cas, ça devrait te mettre sur la piste.

Ok, j'ai réussi à trouver comment faire le collage spécial:

Cells(62, 1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Pour mettre les infos à la suite, je m'explique.

Dans la formule plus haut, les informations tels que Date, Adresse... se colle à partir de la Cellule (62, 1).

Je voudrais qu'elles se collent toujours en bout de tableau. par exemple les 46 premieres lignes sont remplis, que celà se mettent en 47ème... Mais automatiquement.

Pour l'enregistrement et la fermeture, je souhaiterais que ça s'applique uniquement au second fichier, celui qui s'ouvre automatiquement...

Possible ? oui... mais comment ?

MERCI !

-- 14 Juin 2011, 13:13 --

Ouverture, sauvegarde, fermeture OK !!!

Il ne me manque plus que la mise à la ligne automatique...

Je test de mon coté en attendant votre lumière !

-- 14 Juin 2011, 13:15 --

Sub Bouton1_Clic()

Sheets("Registre opérations").Select

Range(Cells(4, 1), Cells(4, 33)).Copy

Workbooks.Open Filename:= _

"\\192.168.4.150\Volume_1\-Final.xls"

Sheets("Registre_Nom_opérateur_Société").Select

Cells(62, 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

With Workbooks(2)

.Save

.Close

End With

End Sub

En rouge à remplacer...

Bonjour,

Et avec un

derlig = Cells(65536, 1).End(xlUp).Row 'où 1 est le numéro de la colonne où vérifier si il y a bien les infos de déjà saisie donc choisir une colonne sur toutes celles que tu copies où tu es sur qu'il y a toujours une valeur dans la cellule (donc ici colonne A pour l'exemple)

Cells(derlig + 1, 1).Select

et ensuite le reste de ton code avec ta copie.

Cordialement

Parfait ! Problème résolu et plus encore....

Bon, merci pour votre aide à tous !! Ce petit programme me permet de gagner 5 min par dossier !

@ bientôt

-- 14 Juin 2011, 15:08 --

et sauriez-vous afficher la date dans la case X lorsqu'il y a clic sur le bouton ?

Rechercher des sujets similaires à "copier coller niveau"