Copie de formules
caly.mpl
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
bonjour
Dans une cellule de la feuille nommée 02 (pour février) j'ai cette formule : = 'feuil 01'!$A$2 (la feuille 01 comportant des données à transférer sur la feuille 02)
Si je copie cette formule dans une feuille 04 reprenant les données de la feuille 03
, elle va garder rester la même et donc me transférer les données de la feuille 01.
comment changer automatiquement la référence de la feuille
passer de ='feuill01'!$A$2 à 'feuill03'!$A$2 pour 1 cellule c'est pas compliqué mais pour des dizaines c 'est fastidieux surtout que j'ai 12 feuilles
Merci
Dans une cellule de la feuille nommée 02 (pour février) j'ai cette formule : = 'feuil 01'!$A$2 (la feuille 01 comportant des données à transférer sur la feuille 02)
Si je copie cette formule dans une feuille 04 reprenant les données de la feuille 03
, elle va garder rester la même et donc me transférer les données de la feuille 01.
comment changer automatiquement la référence de la feuille
passer de ='feuill01'!$A$2 à 'feuill03'!$A$2 pour 1 cellule c'est pas compliqué mais pour des dizaines c 'est fastidieux surtout que j'ai 12 feuilles
Merci
A voir également:
- Copie de formules
- Copie cachée - Guide
- Formules - Télécharger - Études & Formations
- Super copie - Télécharger - Gestion de fichiers
- Copie écran samsung - Guide
- Copie disque dur - Guide
7 réponses
Salut,
Peut on avoir un exemple (avec des données fictives) de ton classeur ?
Joint le sur : https://www.cjoint.com/
Merci.
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d !
Peut on avoir un exemple (avec des données fictives) de ton classeur ?
Joint le sur : https://www.cjoint.com/
Merci.
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d !
Bonjour,
l'idée pour la cellule A2 feuille 1 serait
=INDIRECT(STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)&"!A2")
si cette formule doit être incrémentée depuis la deuxième ligne, la formule serait
=INDIRECT(STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)&"!A"&LIGNE())
et copiée sur la feuille 2 le numéro de l'onglet s'actualisera
pour avoir une formule adaptée, commence par répondre à Ozone et poste un exemple de fichier
l'idée pour la cellule A2 feuille 1 serait
=INDIRECT(STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)&"!A2")
si cette formule doit être incrémentée depuis la deuxième ligne, la formule serait
=INDIRECT(STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)&"!A"&LIGNE())
et copiée sur la feuille 2 le numéro de l'onglet s'actualisera
pour avoir une formule adaptée, commence par répondre à Ozone et poste un exemple de fichier
ouahou !
Je vais etudier cette réponse mais il va me falloir du temps car je me suis toujours débrouillée seule pour en arriver à ce que je sais faire avec excel et là c'est un cran plus haut
Voici le lien que j'ai envoyé à ozone
https://www.cjoint.com/?0DsogrlY4YE
Je vais etudier cette réponse mais il va me falloir du temps car je me suis toujours débrouillée seule pour en arriver à ce que je sais faire avec excel et là c'est un cran plus haut
Voici le lien que j'ai envoyé à ozone
https://www.cjoint.com/?0DsogrlY4YE
Re,
A mon tour OUAHOU! ma formule ne peut s'appliquer parce que changement de nom d'onglet PRESENCE avec mois et pas de progression linéaire exemple en E4 on a ='PRESENCE 01'!$C$3 et en E5 on passe en H ='PRESENCE 01'!$H$3.
Enfin cela n'est pas insurmontable mais bonsoir le formule. Enfin de mon coté je regarde ce qui peut être fait
A mon tour OUAHOU! ma formule ne peut s'appliquer parce que changement de nom d'onglet PRESENCE avec mois et pas de progression linéaire exemple en E4 on a ='PRESENCE 01'!$C$3 et en E5 on passe en H ='PRESENCE 01'!$H$3.
Enfin cela n'est pas insurmontable mais bonsoir le formule. Enfin de mon coté je regarde ce qui peut être fait
Bonjour
excusez l'incrute (bonjour Mike, ca va ?)
Il existe une fonction personnalisée crée par jacques boisgontier pour donner le nom de l'onglet précédent
et la formule devient
=INDIRECT(ongletprecedent()&"!A2")
Le site de jacques
http://boisgontierjacques.free.fr/
site incontournable à mettre dans ses favoris
Michel
excusez l'incrute (bonjour Mike, ca va ?)
Il existe une fonction personnalisée crée par jacques boisgontier pour donner le nom de l'onglet précédent
Dans un module
Function OngletPrecedent()
OngletPrecedent = Sheets(Application.Caller.Parent.Name).Previous.Name
End Function
et la formule devient
=INDIRECT(ongletprecedent()&"!A2")
Le site de jacques
http://boisgontierjacques.free.fr/
site incontournable à mettre dans ses favoris
Michel
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Salut Michel, oui ça va merci j'espère pour toi également.
je viens juste de trouver ce merveilleux code qui fonctionne parfaitement et essaye de l'adapter au fichier de Ozone
Salut Michel, oui ça va merci j'espère pour toi également.
je viens juste de trouver ce merveilleux code qui fonctionne parfaitement et essaye de l'adapter au fichier de Ozone
Re,
vu la complexité de ton fichier ou on passe de C3 à H3 puis à M3 etc
il est difficile de créer une incrémentation alors je te propose de créer dans le module du Visual Basic (Alt et touche de fonction F11)
Insertion/Module
coller ce code
Function OngletPrec(cell As Range) As Variant
Application.Volatile
Var = Sheets(ActiveSheet.Index - 1).Range(cell.Address)
OngletPrec = Sheets(ActiveSheet.Index - 1).Range(cell.Address)
End Function
revenir sur ta feuille Janvier et clic en E4 et onglet Formules/module Bibliothèque de Fonctions/Inserer une fonction
Pointer sur OngletPrec et saisir dans cell C3
ensuite dans chaque cellule copier cette formule que tu as en E4 =OngletPrec(C3) reste plus qu'a modifier l'adresse dans chaque formule collée, exemple en E5 modifier =OngletPrec(C3) comme ceci =OngletPrec(H3)
une fois l'onglet JANVIER terminé efface l'onglet FEVRIER et faire un copier de la feuille JANVIER et Coller sur l'onglet FEVRIER, puis sur mars etc ... intercaler les feuilles PRESENCE
revenir dans le visual Basic, double clic sur Thiswokbook et coller ce code
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Calculate
End Sub
vu la complexité de ton fichier ou on passe de C3 à H3 puis à M3 etc
il est difficile de créer une incrémentation alors je te propose de créer dans le module du Visual Basic (Alt et touche de fonction F11)
Insertion/Module
coller ce code
Function OngletPrec(cell As Range) As Variant
Application.Volatile
Var = Sheets(ActiveSheet.Index - 1).Range(cell.Address)
OngletPrec = Sheets(ActiveSheet.Index - 1).Range(cell.Address)
End Function
revenir sur ta feuille Janvier et clic en E4 et onglet Formules/module Bibliothèque de Fonctions/Inserer une fonction
Pointer sur OngletPrec et saisir dans cell C3
ensuite dans chaque cellule copier cette formule que tu as en E4 =OngletPrec(C3) reste plus qu'a modifier l'adresse dans chaque formule collée, exemple en E5 modifier =OngletPrec(C3) comme ceci =OngletPrec(H3)
une fois l'onglet JANVIER terminé efface l'onglet FEVRIER et faire un copier de la feuille JANVIER et Coller sur l'onglet FEVRIER, puis sur mars etc ... intercaler les feuilles PRESENCE
revenir dans le visual Basic, double clic sur Thiswokbook et coller ce code
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Calculate
End Sub
Salut
Petite rectification le fichier est à moi caly.mpl et pas à ozone. Il risque de ne pas comprendre si tu lui réponds.
Bon à ce ue je vois vous etes 10 0000000000000000000 fois plus calé que moi sur excel.
Je vais essayer de me dépatouiller avec tout ça à faire mais je crois que cela va me prendre plus de temps que de changer le 01 de ma formule en 02, pu 03 puis ................................
C'est pas grave j'aurai au moins appris quelque chose de plus sur excel
Quand vous metttez : colle ce code, il faut coller tout le praragraphe que vous avez notez en dessous?
Merci
Petite rectification le fichier est à moi caly.mpl et pas à ozone. Il risque de ne pas comprendre si tu lui réponds.
Bon à ce ue je vois vous etes 10 0000000000000000000 fois plus calé que moi sur excel.
Je vais essayer de me dépatouiller avec tout ça à faire mais je crois que cela va me prendre plus de temps que de changer le 01 de ma formule en 02, pu 03 puis ................................
C'est pas grave j'aurai au moins appris quelque chose de plus sur excel
Quand vous metttez : colle ce code, il faut coller tout le praragraphe que vous avez notez en dessous?
Merci
Bonjour
Vous n'avez peut etre pas vu mon fichier
Complexe d'après Mike
J'ai essayé votre formule cela ne fonctionne pas
Et celle de Mike non plus *Je pense que cela vient du fait que je n'ai pas la fonction "ongletprec"
Mike me fait faire une copie d' un code dans le Visual Basic mais je pense qu'il a oublié de me dire ce qu'il fallait en faire une fois le code copié (peut etre cela sert-il a créer la fonction ?????)
Je suis plus que novice par rapport à vous alors c'est un peu du chinois même si j'essaie de comprendre.
Je suis allée sur le site de boisgontier et il est fait pour des calés en excel.
Je ne connais pas tout ce langage "english".......
Merci en tout cas de vos réponse
Vous n'avez peut etre pas vu mon fichier
Complexe d'après Mike
J'ai essayé votre formule cela ne fonctionne pas
Et celle de Mike non plus *Je pense que cela vient du fait que je n'ai pas la fonction "ongletprec"
Mike me fait faire une copie d' un code dans le Visual Basic mais je pense qu'il a oublié de me dire ce qu'il fallait en faire une fois le code copié (peut etre cela sert-il a créer la fonction ?????)
Je suis plus que novice par rapport à vous alors c'est un peu du chinois même si j'essaie de comprendre.
Je suis allée sur le site de boisgontier et il est fait pour des calés en excel.
Je ne connais pas tout ce langage "english".......
Merci en tout cas de vos réponse
Re,
C'est bien à toi Caly que je m'adresse et travaille sur ton fichier.
modifier tes formules est rapide et Excel possède des outils puissants pour travailler simplement et rapidement, j'ai mis à jour l'onglet JANVIER et copié sur l'onglet FEVRIER et créé l'onglet MARS à toi de continuer.
Pour cela ouvre le Visual Basic (Alt et F11) double clic sur Thiswokbook et tu verras ces codes
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Calculate
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Calculate
End Sub
saisir une apostrophe devant chaque Calculate comme cela 'Calculate ce qui aura pour but de neutraliser la fonction et te faciliter l'intervention
revenir sur Excel et créer tous les onglets PRESENCE et MOIS sans ne mettre aucune données dans les feuilles, les laisser vierge, ensuite pour prendre en compte les formules et mise en page, activer l'onglet PRESENCE 01 et cliquer sur le module juste au dessus de l'en tête de ligne 1 et à gauche de l'en tête de colonne A, tu remarqueras une petite flèche en bas vers la droite, la page se sélectionnera dans son ensemble, clic droit Copier aller sur une feuille PRESENCE vierge clic droit sur A1 et Coller, aller sur un autre onglet PRESENCE vierge clic droit sur A1 et Coller ainsi de suite pour créer toutes les feuilles PRESENCE
recommencer pour les feuilles MOIS
revenir dans la Thiswokbook et supprimer les deux apostrophes
cela doit te prendre une dizaine de minutes max, si les cellules sont hachurées, il suffit de déplacer la cellule active pour que ton fichier s'actualise dès lors que tu auras supprimé l'apostrophe devant les Calculate
https://www.cjoint.com/c/EDtj1ST3SpT
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
C'est bien à toi Caly que je m'adresse et travaille sur ton fichier.
modifier tes formules est rapide et Excel possède des outils puissants pour travailler simplement et rapidement, j'ai mis à jour l'onglet JANVIER et copié sur l'onglet FEVRIER et créé l'onglet MARS à toi de continuer.
Pour cela ouvre le Visual Basic (Alt et F11) double clic sur Thiswokbook et tu verras ces codes
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Calculate
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Calculate
End Sub
saisir une apostrophe devant chaque Calculate comme cela 'Calculate ce qui aura pour but de neutraliser la fonction et te faciliter l'intervention
revenir sur Excel et créer tous les onglets PRESENCE et MOIS sans ne mettre aucune données dans les feuilles, les laisser vierge, ensuite pour prendre en compte les formules et mise en page, activer l'onglet PRESENCE 01 et cliquer sur le module juste au dessus de l'en tête de ligne 1 et à gauche de l'en tête de colonne A, tu remarqueras une petite flèche en bas vers la droite, la page se sélectionnera dans son ensemble, clic droit Copier aller sur une feuille PRESENCE vierge clic droit sur A1 et Coller, aller sur un autre onglet PRESENCE vierge clic droit sur A1 et Coller ainsi de suite pour créer toutes les feuilles PRESENCE
recommencer pour les feuilles MOIS
revenir dans la Thiswokbook et supprimer les deux apostrophes
cela doit te prendre une dizaine de minutes max, si les cellules sont hachurées, il suffit de déplacer la cellule active pour que ton fichier s'actualise dès lors que tu auras supprimé l'apostrophe devant les Calculate
https://www.cjoint.com/c/EDtj1ST3SpT
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Re,
Ps: prend plutôt ce fichier, dans le code j'ai laissé trainer une ligne inutile
ou supprime cette ligne
Var = Sheets(ActiveSheet.Index - 1).Range(cell.Address)
https://www.cjoint.com/c/EDtllAVhqUM
Ps: prend plutôt ce fichier, dans le code j'ai laissé trainer une ligne inutile
ou supprime cette ligne
Var = Sheets(ActiveSheet.Index - 1).Range(cell.Address)
https://www.cjoint.com/c/EDtllAVhqUM
Voici le lien du fichier
https://www.cjoint.com/?0DsogrlY4YE