Copie de cellule d'un onglet X a Y
PanPan
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai une macro qui copie un onglet dans un autre , et qui renome l'onglet (la copie) au nom d'une cellule stocker sous une variable (dans le premier onglet).
Je souhaite ensuite:
copier plusieurs cellule de l'onglet copier (renomé) (pas a la suite)
sur un autre onglet (avec un nom bien defini) et chaque cellule copier et enregistrer a un emplacement different
'' en fete je copie des cellules (reparti un peu partout sur un doc) dasn un onglet biebn defini ( dans un tableau)
pour l'instant jutilise la fonction: =CELLULE("contenu";nom de l'onglet stocker!I63:J63)
Voici le debut de mon code:
Dim NOMDERUE As Range ' déclare une cellule
Set NOMDERUE = Range("D9") ' Enregistre la cellule D9 et la place de "NOMDERUE"
Range("A1:N74").Select ' Selectiobnne les cellules de A1 à N74 '
Selection.Copy ' Copie la selection
Sheets.Add After:=Sheets(Sheets.Count) ' Ouvre un nouvelle onglet apres le dernier
Range("A1").Select ' Place le curseur sur la cellule A1
ActiveSheet.Paste ' Colle les cellules selectionné
ActiveSheet.Name = NOMDERUE.Value ' Renome l'onglet avec la plage de donné "NOMDERUE"
deplus, je voudrai que ces cellules que je copie soit copier a la suite des autre...
Merci d'avance au genie de l'informatique
PS: il m'a fallu 2 heure pour faire ce bout de code (grace a mes connaissance du C++!!!)
++
J'ai une macro qui copie un onglet dans un autre , et qui renome l'onglet (la copie) au nom d'une cellule stocker sous une variable (dans le premier onglet).
Je souhaite ensuite:
copier plusieurs cellule de l'onglet copier (renomé) (pas a la suite)
sur un autre onglet (avec un nom bien defini) et chaque cellule copier et enregistrer a un emplacement different
'' en fete je copie des cellules (reparti un peu partout sur un doc) dasn un onglet biebn defini ( dans un tableau)
pour l'instant jutilise la fonction: =CELLULE("contenu";nom de l'onglet stocker!I63:J63)
Voici le debut de mon code:
Dim NOMDERUE As Range ' déclare une cellule
Set NOMDERUE = Range("D9") ' Enregistre la cellule D9 et la place de "NOMDERUE"
Range("A1:N74").Select ' Selectiobnne les cellules de A1 à N74 '
Selection.Copy ' Copie la selection
Sheets.Add After:=Sheets(Sheets.Count) ' Ouvre un nouvelle onglet apres le dernier
Range("A1").Select ' Place le curseur sur la cellule A1
ActiveSheet.Paste ' Colle les cellules selectionné
ActiveSheet.Name = NOMDERUE.Value ' Renome l'onglet avec la plage de donné "NOMDERUE"
deplus, je voudrai que ces cellules que je copie soit copier a la suite des autre...
Merci d'avance au genie de l'informatique
PS: il m'a fallu 2 heure pour faire ce bout de code (grace a mes connaissance du C++!!!)
++
A voir également:
- Copie de cellule d'un onglet X a Y
- Site x - Guide
- Sites X : Pornhub, YouPorn et Redtube sont de nouveau accessibles en France - Guide
- Copie cachée - Guide
- Copie écran samsung - Guide
- Rouvrir onglet fermé chrome - Guide
1 réponse
Bonsoir,
Pas sûr d'avoir bien compris ta demande mais tu peux retrouver la dernière cellule remplie de la colonne A par :
[65536].end(xlup)
et donc la 1ère ligne libre par :
lig=[65536].end(xlup).row+1
et y coller qcq chose avec :
cells(lig,1).paste
Et tu n'es pas obligé de faire tous les select (gourmand en ressources)
Par exemplke tu peux remplacer avantageusement :
Range("A1").Select
ActiveSheet.Paste
par :
activesheet.[A1].paste
et comme c'est la feuille active tu n'est pas obligé de la désigner, donc :
[A1].paste
eric
Pas sûr d'avoir bien compris ta demande mais tu peux retrouver la dernière cellule remplie de la colonne A par :
[65536].end(xlup)
et donc la 1ère ligne libre par :
lig=[65536].end(xlup).row+1
et y coller qcq chose avec :
cells(lig,1).paste
Et tu n'es pas obligé de faire tous les select (gourmand en ressources)
Par exemplke tu peux remplacer avantageusement :
Range("A1").Select
ActiveSheet.Paste
par :
activesheet.[A1].paste
et comme c'est la feuille active tu n'est pas obligé de la désigner, donc :
[A1].paste
eric