Je suis face a un petit pb sur excel : J'ai besoin de lier 2 feuilles, que
les colonnes de la premiere feuille soient liées avec celles de la 2eme
(suivi de la mise en page : ajout/suppression de lignes et recopie des
valeurs des cellules). Pour ca j'ai utilisé ce code :
Code:
Private Sub Worksheet_Activate()
Sheets("Tableau détaillé").Range("C4:Q" & Sheets("Tableau
détaillé").[C65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("C4:G4"), Unique:=False
End Sub
Ca marche parfaitement.
Maintenant j'aimerais réaliser exactement la meme chose mais sans recopier
la valeur des cellules, cad que les 2 feuilles soient liées par la mise en
page (ajout suppression de lignes) mais je ne veux pas de mise a jour de la
valeur des cellules - j'aimerais qu'elles soient indépendantes pour leur
contenu. QQn a une idée du code qui résoudrait mon probleme ?
Je suis face a un petit pb sur excel : J'ai besoin de lier 2 feuilles, que les colonnes de la premiere feuille soient liées avec celles de la 2eme (suivi de la mise en page : ajout/suppression de lignes et recopie des valeurs des cellules). Pour ca j'ai utilisé ce code :
Code:
Private Sub Worksheet_Activate() Sheets("Tableau détaillé").Range("C4:Q" & Sheets("Tableau détaillé").[C65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Range("C4:G4"), Unique:úlse End Sub
Ca marche parfaitement.
Maintenant j'aimerais réaliser exactement la meme chose mais sans recopier la valeur des cellules, cad que les 2 feuilles soient liées par la mise en page (ajout suppression de lignes) mais je ne veux pas de mise a jour de la valeur des cellules - j'aimerais qu'elles soient indépendantes pour leur contenu. QQn a une idée du code qui résoudrait mon probleme ?
J'espere que j'ai été assez clair,
Un grand merci d'avance pour vos réponses
Bonjour,
Tu peux obtenir ça en créant un groupe de travail ; il suffit de cliquer sur
le deux onglets que tu veux lier en maintenant la touche Ctrl enfoncée
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"GF" <GF@discussions.microsoft.com> a écrit dans le message de
news:CF51359A-694A-45A3-BC13-921B960A4D8B@microsoft.com...
Bonjour à tous,
Je suis face a un petit pb sur excel : J'ai besoin de lier 2 feuilles, que
les colonnes de la premiere feuille soient liées avec celles de la 2eme
(suivi de la mise en page : ajout/suppression de lignes et recopie des
valeurs des cellules). Pour ca j'ai utilisé ce code :
Code:
Private Sub Worksheet_Activate()
Sheets("Tableau détaillé").Range("C4:Q" & Sheets("Tableau
détaillé").[C65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("C4:G4"), Unique:úlse
End Sub
Ca marche parfaitement.
Maintenant j'aimerais réaliser exactement la meme chose mais sans recopier
la valeur des cellules, cad que les 2 feuilles soient liées par la mise en
page (ajout suppression de lignes) mais je ne veux pas de mise a jour de
la
valeur des cellules - j'aimerais qu'elles soient indépendantes pour leur
contenu. QQn a une idée du code qui résoudrait mon probleme ?
Je suis face a un petit pb sur excel : J'ai besoin de lier 2 feuilles, que les colonnes de la premiere feuille soient liées avec celles de la 2eme (suivi de la mise en page : ajout/suppression de lignes et recopie des valeurs des cellules). Pour ca j'ai utilisé ce code :
Code:
Private Sub Worksheet_Activate() Sheets("Tableau détaillé").Range("C4:Q" & Sheets("Tableau détaillé").[C65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Range("C4:G4"), Unique:úlse End Sub
Ca marche parfaitement.
Maintenant j'aimerais réaliser exactement la meme chose mais sans recopier la valeur des cellules, cad que les 2 feuilles soient liées par la mise en page (ajout suppression de lignes) mais je ne veux pas de mise a jour de la valeur des cellules - j'aimerais qu'elles soient indépendantes pour leur contenu. QQn a une idée du code qui résoudrait mon probleme ?
J'espere que j'ai été assez clair,
Un grand merci d'avance pour vos réponses
GF
Merci pour ta réponse aussi rapide.
Cette astuce ne fonctionne pas avec mon classeur puisque les 2 tableaux sont totalement différents. Et la cellule K5 de la feuille 1 par exemple n'a rien a voir avec celle de la feuille 2. Les mises en page sont totalement différentes
Merci pour ta réponse aussi rapide.
Cette astuce ne fonctionne pas avec mon classeur puisque les 2 tableaux sont
totalement différents. Et la cellule K5 de la feuille 1 par exemple n'a rien
a voir avec celle de la feuille 2.
Les mises en page sont totalement différentes
Cette astuce ne fonctionne pas avec mon classeur puisque les 2 tableaux sont totalement différents. Et la cellule K5 de la feuille 1 par exemple n'a rien a voir avec celle de la feuille 2. Les mises en page sont totalement différentes
FdeCourt
Salut,
Copie du format de la feuille Tableau détaillé vers la feuille Feuil2
Sub CopieFormat() With Sheets("Tableau détaillé") .Range(.Cells(4, 3), .Cells(.Cells(65536, 3).End(xlUp).Row, 17)).Copy End With With Sheets("Feuil2") .Range(.Cells(4, 3), .Cells(Sheets("Tableau détaillé").Cells(65536, 3).End(xlUp).Row, 17)).PasteSpecial Paste:=xlPasteFormats End With End Sub
Cordialement,
F.
Salut,
Copie du format de la feuille Tableau détaillé vers la feuille Feuil2
Sub CopieFormat()
With Sheets("Tableau détaillé")
.Range(.Cells(4, 3), .Cells(.Cells(65536, 3).End(xlUp).Row,
17)).Copy
End With
With Sheets("Feuil2")
.Range(.Cells(4, 3), .Cells(Sheets("Tableau
détaillé").Cells(65536, 3).End(xlUp).Row, 17)).PasteSpecial
Paste:=xlPasteFormats
End With
End Sub
Copie du format de la feuille Tableau détaillé vers la feuille Feuil2
Sub CopieFormat() With Sheets("Tableau détaillé") .Range(.Cells(4, 3), .Cells(.Cells(65536, 3).End(xlUp).Row, 17)).Copy End With With Sheets("Feuil2") .Range(.Cells(4, 3), .Cells(Sheets("Tableau détaillé").Cells(65536, 3).End(xlUp).Row, 17)).PasteSpecial Paste:=xlPasteFormats End With End Sub
Cordialement,
F.
GF
Ah je crois que ca serait pas mal ca !
Merci de ta réponse, par contre je suis un peu nul en macro, le code est a rentrer sur quelle feuille Tableau détaillé ou feuille 2 ?
Ah je crois que ca serait pas mal ca !
Merci de ta réponse, par contre je suis un peu nul en macro, le code est a
rentrer sur quelle feuille Tableau détaillé ou feuille 2 ?
Merci de ta réponse, par contre je suis un peu nul en macro, le code est a rentrer sur quelle feuille Tableau détaillé ou feuille 2 ?
GF
D'ailleurs je ne comprends pas tout ton code : a quel endroit je dois renseigner les plages de copie (source et destination) et sous quel format ? A1:A5 pour les colonnes de 1 a 5 par exemple
Sinon cette ligne : With Sheets("Feuil2").Range(.Cells(4, 3), .Cells(Sheets("Tableau détaillé ").Cells(65536, 3).End(xlUp).Row, 17)).PasteSpecial Paste:=xlPasteFormats
apparait en rouge dans VBA et Paste est surligné
Merci d'avance pour votre retour ! J'ai du mal a suivre :)
D'ailleurs je ne comprends pas tout ton code : a quel endroit je dois
renseigner les plages de copie (source et destination) et sous quel format ?
A1:A5 pour les colonnes de 1 a 5 par exemple
Sinon cette ligne : With Sheets("Feuil2").Range(.Cells(4, 3),
.Cells(Sheets("Tableau détaillé ").Cells(65536, 3).End(xlUp).Row,
17)).PasteSpecial Paste:=xlPasteFormats
apparait en rouge dans VBA et Paste est surligné
Merci d'avance pour votre retour ! J'ai du mal a suivre :)
D'ailleurs je ne comprends pas tout ton code : a quel endroit je dois renseigner les plages de copie (source et destination) et sous quel format ? A1:A5 pour les colonnes de 1 a 5 par exemple
Sinon cette ligne : With Sheets("Feuil2").Range(.Cells(4, 3), .Cells(Sheets("Tableau détaillé ").Cells(65536, 3).End(xlUp).Row, 17)).PasteSpecial Paste:=xlPasteFormats
apparait en rouge dans VBA et Paste est surligné
Merci d'avance pour votre retour ! J'ai du mal a suivre :)
FdeCourt
Salut,
Il faut faire attention, les lignes peuvent avoir été coupées (il doit y avoir 6 lignes sans le Sub & End Sub).
Je ne l'ai pas mise comme macro evenmentielle, donc tu peux la mettre dans n'importe quel module. Si tu veux la mettre dans une macro evenementiel, cela depend de quand tu veux l'activer, mais comme tu copie un format vers la Feuil2, dans le code de la feuil2 je mettrais :
Private Sub Worksheet_Activate() Dim selection_init As Range With Sheets("Tableau détaillé") .Range(.Cells(4, 3), .Cells( _ .Cells(65536, 3).End(xlUp).Row, 17)) _ .Copy End With With ActiveSheet Set selection_init _ = Selection .Range(.Cells(4, 3), _ .Cells(Sheets("Tableau détaillé") _ .Cells(65536, 3).End(xlUp).Row, 17)) _ .PasteSpecial Paste:=xlPasteFormats selection_init.Select End With Application.CutCopyMode = False End Sub
Cordialement,
F.
On 4 avr, 16:59, GF wrote:
D'ailleurs je ne comprends pas tout ton code : a quel endroit je dois renseigner les plages de copie (source et destination) et sous quel format ? A1:A5 pour les colonnes de 1 a 5 par exemple
Sinon cette ligne : With Sheets("Feuil2").Range(.Cells(4, 3), .Cells(Sheets("Tableau détaillé ").Cells(65536, 3).End(xlUp).Row, 17)).PasteSpecial Paste:=xlPasteFormats
apparait en rouge dans VBA et Paste est surligné
Merci d'avance pour votre retour ! J'ai du mal a suivre :)
Salut,
Il faut faire attention, les lignes peuvent avoir été coupées (il doit
y avoir 6 lignes sans le Sub & End Sub).
Je ne l'ai pas mise comme macro evenmentielle, donc tu peux la mettre
dans n'importe quel module.
Si tu veux la mettre dans une macro evenementiel, cela depend de quand
tu veux l'activer, mais comme tu copie un format vers la Feuil2, dans
le code de la feuil2 je mettrais :
Private Sub Worksheet_Activate()
Dim selection_init As Range
With Sheets("Tableau détaillé")
.Range(.Cells(4, 3), .Cells( _
.Cells(65536, 3).End(xlUp).Row, 17)) _
.Copy
End With
With ActiveSheet
Set selection_init _
= Selection
.Range(.Cells(4, 3), _
.Cells(Sheets("Tableau détaillé") _
.Cells(65536, 3).End(xlUp).Row, 17)) _
.PasteSpecial Paste:=xlPasteFormats
selection_init.Select
End With
Application.CutCopyMode = False
End Sub
Cordialement,
F.
On 4 avr, 16:59, GF <G...@discussions.microsoft.com> wrote:
D'ailleurs je ne comprends pas tout ton code : a quel endroit je dois
renseigner les plages de copie (source et destination) et sous quel format ?
A1:A5 pour les colonnes de 1 a 5 par exemple
Sinon cette ligne : With Sheets("Feuil2").Range(.Cells(4, 3),
.Cells(Sheets("Tableau détaillé ").Cells(65536, 3).End(xlUp).Row,
17)).PasteSpecial Paste:=xlPasteFormats
apparait en rouge dans VBA et Paste est surligné
Merci d'avance pour votre retour ! J'ai du mal a suivre :)
Il faut faire attention, les lignes peuvent avoir été coupées (il doit y avoir 6 lignes sans le Sub & End Sub).
Je ne l'ai pas mise comme macro evenmentielle, donc tu peux la mettre dans n'importe quel module. Si tu veux la mettre dans une macro evenementiel, cela depend de quand tu veux l'activer, mais comme tu copie un format vers la Feuil2, dans le code de la feuil2 je mettrais :
Private Sub Worksheet_Activate() Dim selection_init As Range With Sheets("Tableau détaillé") .Range(.Cells(4, 3), .Cells( _ .Cells(65536, 3).End(xlUp).Row, 17)) _ .Copy End With With ActiveSheet Set selection_init _ = Selection .Range(.Cells(4, 3), _ .Cells(Sheets("Tableau détaillé") _ .Cells(65536, 3).End(xlUp).Row, 17)) _ .PasteSpecial Paste:=xlPasteFormats selection_init.Select End With Application.CutCopyMode = False End Sub
Cordialement,
F.
On 4 avr, 16:59, GF wrote:
D'ailleurs je ne comprends pas tout ton code : a quel endroit je dois renseigner les plages de copie (source et destination) et sous quel format ? A1:A5 pour les colonnes de 1 a 5 par exemple
Sinon cette ligne : With Sheets("Feuil2").Range(.Cells(4, 3), .Cells(Sheets("Tableau détaillé ").Cells(65536, 3).End(xlUp).Row, 17)).PasteSpecial Paste:=xlPasteFormats
apparait en rouge dans VBA et Paste est surligné
Merci d'avance pour votre retour ! J'ai du mal a suivre :)
GF
Dans une macro évenementielle c'est parfait. C'est ce que j'ai fait.
Merci !
par contre j'ai tjrs le meme soucis : ou renseigner mes plages sources et de destination de copie de cellules ?
PS : le 2eme code est rouge aussi grrrr, j'essaie qq mises en page différentes
Dans une macro évenementielle c'est parfait. C'est ce que j'ai fait.
Merci !
par contre j'ai tjrs le meme soucis : ou renseigner mes plages sources et de
destination de copie de cellules ?
PS : le 2eme code est rouge aussi grrrr, j'essaie qq mises en page différentes
Encore une fois merci pour ta réponse aussi rapide.
Ok pour le formatage du code, je continue de chercher.
Sinon je n'ai pas compris quel est le format de cellule employé dans ce code. 4,3 correspond a quelle cellule exactement ? Row, 17 = Ligne 17 ?
Si tu peux me renseigner sur ce point ?
Un grand merci d'avance
FdeCourt
Oups pardon...
cells(x, y) x correspond à la ligne, Y correspond à la colonne un range est la combinaison de la cellule en haut à gauche et en bas à droite. donc range(cells(2, 3), cells(5, 6) correspond à range("C2:F5") Cela permet d'éviter d'utiliser des lettres pour les colonnes et donc rendre facilement une plage extensible par macro.
Cordialement,
F.
On 4 avr, 18:29, GF wrote:
Encore une fois merci pour ta réponse aussi rapide.
Ok pour le formatage du code, je continue de chercher.
Sinon je n'ai pas compris quel est le format de cellule employé dans ce code. 4,3 correspond a quelle cellule exactement ? Row, 17 = Ligne 17 ?
Si tu peux me renseigner sur ce point ?
Un grand merci d'avance
Oups pardon...
cells(x, y)
x correspond à la ligne,
Y correspond à la colonne
un range est la combinaison de la cellule en haut à gauche et en bas à
droite.
donc range(cells(2, 3), cells(5, 6) correspond à range("C2:F5")
Cela permet d'éviter d'utiliser des lettres pour les colonnes et donc
rendre facilement une plage extensible par macro.
Cordialement,
F.
On 4 avr, 18:29, GF <G...@discussions.microsoft.com> wrote:
Encore une fois merci pour ta réponse aussi rapide.
Ok pour le formatage du code, je continue de chercher.
Sinon je n'ai pas compris quel est le format de cellule employé dans ce code.
4,3 correspond a quelle cellule exactement ?
Row, 17 = Ligne 17 ?
cells(x, y) x correspond à la ligne, Y correspond à la colonne un range est la combinaison de la cellule en haut à gauche et en bas à droite. donc range(cells(2, 3), cells(5, 6) correspond à range("C2:F5") Cela permet d'éviter d'utiliser des lettres pour les colonnes et donc rendre facilement une plage extensible par macro.
Cordialement,
F.
On 4 avr, 18:29, GF wrote:
Encore une fois merci pour ta réponse aussi rapide.
Ok pour le formatage du code, je continue de chercher.
Sinon je n'ai pas compris quel est le format de cellule employé dans ce code. 4,3 correspond a quelle cellule exactement ? Row, 17 = Ligne 17 ?