COPIER SANS LIAISONS

  • Initiateur de la discussion Initiateur de la discussion br44
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

br44

XLDnaute Impliqué
Bonjour à tout le forum

Dans la procédure qui suis je voudrais savoir s'il est possible de la modifier pour que les liaisons ne soit copier ?

Private Sub CommandButton2_(click)
Dim Wb1 As WorkBook
Dim Wb2 As WorkBook
Dim Mois As String
Dim i As Integer
Dim y As Integer

Mois = ActiveSheet.Range('C3').Value
Set Wb1 =WorkBook.open(chemin)
Set Wb2 =ThisWorkBook

ActiveWorkBook.Save

Wb2.Sheets('Détail').UsedRange.Copy Destination:=Wb1.sheets(mois).Range('A65536').End(XlUp)
Wb2.Sheets('Facture').usedRange.Copy destination:=Wb1.Sheets(Mois).Range('A65336').End(XlUp).Offset(1,0)

With Wb1.Sheet(Mois)
For i = 1 To .UsedRange.Columns.Count
.Columns(i).ColumnWidth=Wb2.Sheets('Détail').Columns(i).ColumnWidth
Next
Y=1
For i = 2 To . UsedRange.rows.Count
.Rows(i).RowHeight=Wb2.Sheets('Facture').Rows(y).RowHeight
Next i
End With
End Sub
Merci d'avence pour toutes vos réponces ,je vous dis à bientôt sur le forum
br44
 
Bonjour le forum ,à Blunet et à Eric S

Tout d'abor un grand merci avous deux pour vos réponses .

Blunet j'essaye d'adpter ton code mais juste une petite question pour etres sur que j'ai compris :
workbooks('copie') dois être = au classeur d'source
Sheets (feuil1') dois être = à la feuille à
copier
mais où je bloque ses au niveau de :
Sheets('Feuil2') es-ce la deuxième feuille à copier ou la feuille de destionation .

peut_tu svp me donner cette présition .Dans l'attente de te relir je test et te tient au courant ou te laisse un message sur le forum en cas de problème .
Merci encore et à bientôt sur se fil
BR44
 
Re br44,

Oui Copie est le classeur source, Feuil1, Feuil2 ses feuilles. POur que ce soit plus simple je t'envoie le fichier joint.

Ciao [file name=Copie_20060313091315.zip size=7165]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Copie_20060313091315.zip[/file]
 

Pièces jointes

re: rebonjour Blunet

Comme prévue dans mon dernier message je donne suite ,
voici ta procédure aprés que je l'ai adaptée à mon cas:

Wb2.Sheets('Détail').UsedRange.SelectSelection.Copy
Wb1.Sheets(Mois).Select
Range('A65536').End(XlUp).Select
Selection.PasteSpecial Paste:=XlPasteValues
Range('A1').Values
il y a une erreur de code sur la ligne en rouge,cela me donne le message suivant:
Erreur D'exécution 1004:
La methode Select de la classe Range à èchouè

Il sagit peut-être d'un problème de version?
j'ai tester ègalement ton fichier et il me met la même erreur .
Ma version est Excel 2003 quel est la tienne?
si tu as une autres solution n'hesite pas, je continue de chercher de mon coté.

De même si quelqu'un d'autre à la solution de se problème qu'il n'hèsite pas ,plus qu'on est de fous plus qu'on rit 🙂
A bientôt sur se forum br44
 
Salut br, j'utilise moi aussi Excel 2003, d'après le code qui est dans ton post tu as changé de préoccupation et y figure ++ erreurs

- Cette ligne est mauvaise
Wb2.Sheets('Détail').UsedRange.SelectSelection.Copy
, voici ce que j'ai écris :
Workbooks('Copie').Sheets('Feuil1').UsedRange.Select
Selection.Copy
' Remarque Selection.Copy est sur une autre ligne. Pour la mettre sur la même ligne (ce que tu as voulu faire faut séparer les 2 instructions par un 2 point (:))

- Range('A1').Values est incomplet !! dans mon code c'est plutôt Range('A1').select

- Il faut que les 2 classeurs soient ouverts
Voici un nouvel exemple adapté à ta nvelle préoccupation :

Sub CopiSansLiaisons()
Application.DisplayAlerts = False

Workbooks('Wb2').Activate
Workbooks('Wb2').Sheets('Détail').UsedRange.Select
Selection.Copy: Workbooks('Wb1').Activate
Workbooks('Wb1').Sheets('Mois').Select 'Copie dans le classeur 2 mais dans la feuille 1
Range('A65536').End(xlUp).Select
Selection.PasteSpecial Paste:=xlPasteValues
'Finalisation
Workbooks('Wb2').Sheets('Détail').Range('A1').Select
Workbooks('Wb1').Sheets('Mois').Range('A1').Select
Application.DisplayAlerts = False

End Sub

'Je te rappelle qu'il faut mettre les cotes entre Mois (nom de la feuille) dans wb1.sheets

Ciao
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
917
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
1 K
Réponses
3
Affichages
883
Retour