Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2012, 02h07   #1
Membre régulier
 
Richard
Inscription : novembre 2009
Messages : 255
Détails du profil
Informations personnelles :
Nom : Richard
Localisation : Canada

Informations forums :
Inscription : novembre 2009
Messages : 255
Points : 83
Points : 83
Par défaut Copier feuille dans un autre fichier sans liaison

Bonjour à tous !

J'ai un fichier de travail qui contient plusieurs feuilles ainsi que des plages de données.

Parfois chez des clients nous avons besoin de prendre une feuille d'un fichier Excel de notre client et la glisser dans notre fichier via le bouton de droite de la souris et "déplacer ou copier".

S'il y a des plages de données associées à cette feuille, les plages vont suivre vers le fichier de destination.

Existe-t-il une façon de transférer la feuille sans que les plages suivent vers le fichier de destination ?

Merci à l'avance une fois de plus.

Dlight
dlight est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 08h10   #2
Membre habitué
 
Homme Michael
Ingénieur qualité méthodes
Inscription : octobre 2010
Messages : 200
Détails du profil
Informations personnelles :
Nom : Homme Michael
Localisation : France, Aisne (Picardie)

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Industrie

Informations forums :
Inscription : octobre 2010
Messages : 200
Points : 115
Points : 115
Bonjour,

si j'ai bien compris ta demande tu cherches a copiers toutes les données d'une feuille1 où se trouve des liaisons sur une autre feuille2 sans avoir les liaisons de la feuille1?

si c'est le cas, as tu essayé tout simplement de copier toutes les données de la feuille1 tu vas sur la feuille2 et tu fais collage speciale et tu selectionnes juste valeur. comme ca, tu auras ta page avec les valeurs et aucune liaison.
redstoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 13h35   #3
Membre régulier
 
Richard
Inscription : novembre 2009
Messages : 255
Détails du profil
Informations personnelles :
Nom : Richard
Localisation : Canada

Informations forums :
Inscription : novembre 2009
Messages : 255
Points : 83
Points : 83
Par défaut Re

Merci à vous redstoff pour votre réponse mais ce n'est pas exactement ça.

Alors plus de détails...

Citation:
Parfois chez des clients nous avons besoin de prendre une feuille d'un fichier Excel de notre client et la glisser dans notre fichier via le bouton de droite de la souris et "déplacer ou copier".
Fichier #1 = MonFichier.xls
Fichier #2 = FichierDuClient.xls

Dans le fichier #2, dans la feuille abc j'ai un groupe de cellule qui a été nommé "MaPlage" via le menu "Insertion\Nom".

Ma question :

Peut-on prendre la feuille abc du fichier #2 et la copier dans le fichier #1 sans que la plage de données "MaPlage" soit aussi envoyé vers le fichier #1 sans que les formules comme des sommes de cette feuille ne soit suprimé...

Merci à nouveau

Dlight
dlight est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 16h40   #4
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 774
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 774
Points : 2 094
Points : 2 094
Bonjour,

Une solution peut être ? Tu mets ce code dans ton classeur (dans ton exemple "MonFichier.xls") et une fois la feuille récupérée, tu lance la proc "QueLesValeurs" ci-dessous en donnant pour cible la feuille que tu viens de transférer (adapter le nom). Enfin, à voir ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
Sub QueLesValeurs()
 
    Dim Plg As Range
    Dim Cel As Range
 
    'défini la plage
    Set Plg = Plage(ThisWorkbook.Worksheets("abc"))
 
    'ne garde que les valeurs
    For Each Cel In Plg
 
        Cel.Value = Cel.Value
 
    Next Cel
 
End Sub
 
 
Function Plage(Fe As Worksheet) As Range
 
    With Fe
 
        Set Plage = .Range(.Cells(1, 1), _
                    .Cells( _
                    .Cells.Find("*", .[A1], -4123, , _
                    1, 2).Row, _
                    .Cells.Find("*", .[A1], -4123, , _
                    2, 2).Column))
 
    End With
 
End Function
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 04h35   #5
Membre régulier
 
Richard
Inscription : novembre 2009
Messages : 255
Détails du profil
Informations personnelles :
Nom : Richard
Localisation : Canada

Informations forums :
Inscription : novembre 2009
Messages : 255
Points : 83
Points : 83
Par défaut Re

Merci Hervé d'avoir pris le temps de me répondre.

J'ai testé le code et j'ai l'erreur 91 à la ligne 24.

Du coup, je ne suis pas bien certain de comprendre le code...

Quelqu'un peu m'aider à le comprendre et du même coup peut-être que je serai en mesure de l'adapter à ma situation.

Merci à l'avance

Dlight
dlight est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 09h51   #6
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 774
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 774
Points : 2 094
Points : 2 094
Bonjour Dlight,

Ta feuille contient-elle au moins une valeur ? L'erreur est due au fait que la fonction Plage ne trouve aucun Range à retourner.

Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h08.


 
 
 
 
Partenaires

Hébergement Web