DjouPernet
XLDnaute Nouveau
Bonjour à tous,
Je suis actuellement en stage. Mon projet est de concevoir des gammes de maintenances à l'aide d'un logiciel propre à l'entreprise et excel 2010.
Cependant j'ai des connaissances restreintes en terme de VBA et je connais un soucis et malgré un certain nombre de tests je n'arrives pas à y remédier.
J'ai une feuille qui, en indiquant une donnée sur ça première page, va récupérer le contenu d'une autre feuille pour les pages suivantes (même classeur). Ceci se fait via un copier coller.
Le problème qui persiste, j'aimerais garder une mise en page semblable entre le copier et le coller.
J'arrives à récupérer tout les composants ( certaines images, tableau...) mais il y a des décalages dû à des hauteurs de lignes qui diffèrent entre le copier et le coller.
COMMENT REMEDIER A CE PROBLEME ??
J’espère que vous avez compris mon soucis, voilà ce que j'ai réalisé :
If Sheets("Gamme").Cells(6, 4).Value = "CITARO ARTICULE" Then
Rows("39:300").EntireRow.AutoFit 'largeur des lignes adaptée au contenu
Sheets("Gamme CITARO ARTICULE").Activate
Sheets("Gamme CITARO ARTICULE").Range("A36:H300").Select
Selection.Copy
Sheets("Gamme").Select
Range("A39").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
Else 'sinon je retire le texte et les images
Sheets("Gamme").Range(Cells(39, 1), Cells(500, 20)) = ""
For Each s In ActiveSheet.Shapes
If Not Intersect(s.TopLeftCell, Range("$A$39:$H$300")) Is Nothing Then
s.Delete
End If
Next s
End If
End If
End Sub
Je suis actuellement en stage. Mon projet est de concevoir des gammes de maintenances à l'aide d'un logiciel propre à l'entreprise et excel 2010.
Cependant j'ai des connaissances restreintes en terme de VBA et je connais un soucis et malgré un certain nombre de tests je n'arrives pas à y remédier.
J'ai une feuille qui, en indiquant une donnée sur ça première page, va récupérer le contenu d'une autre feuille pour les pages suivantes (même classeur). Ceci se fait via un copier coller.
Le problème qui persiste, j'aimerais garder une mise en page semblable entre le copier et le coller.
J'arrives à récupérer tout les composants ( certaines images, tableau...) mais il y a des décalages dû à des hauteurs de lignes qui diffèrent entre le copier et le coller.
COMMENT REMEDIER A CE PROBLEME ??
J’espère que vous avez compris mon soucis, voilà ce que j'ai réalisé :
If Sheets("Gamme").Cells(6, 4).Value = "CITARO ARTICULE" Then
Rows("39:300").EntireRow.AutoFit 'largeur des lignes adaptée au contenu
Sheets("Gamme CITARO ARTICULE").Activate
Sheets("Gamme CITARO ARTICULE").Range("A36:H300").Select
Selection.Copy
Sheets("Gamme").Select
Range("A39").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
Else 'sinon je retire le texte et les images
Sheets("Gamme").Range(Cells(39, 1), Cells(500, 20)) = ""
For Each s In ActiveSheet.Shapes
If Not Intersect(s.TopLeftCell, Range("$A$39:$H$300")) Is Nothing Then
s.Delete
End If
Next s
End If
End If
End Sub