Je voudrais faire une copie de cellule se trouvant sur une autre Page
Je sais que la commande pour cela est : =sheet1!A1
J’ai un tableau de moyenne
Ce que je voudrais faire c’est changer le nom de la page mais pas la cellule
(ex pour la même cellule =Sheet1!A1 ou Sheet2!A1 ou etc.)
Pour cela g crée une liste avec tous les noms des pages (en G1)
Je voudrais faire cela sans macro car j’ai réalisé une fonction mais cela
met un certain temps à s’exécuter car j’ai 140 cellules à modifier
Voici le code de la fonction :
Entrée : page et la cellule à copier
Sortie : valeur de la cellule en question (la cellule étant du texte)
Public Function cop(page As String, cell As String) As String
cop = Sheets(page).Range(cell).Value
End Function
Cette solution fonctionne mais je voudrais classer le tableau et masquer
toutes les lignes vides
Donc j’ai crée une macro classement. Cette macro fonctionne.
Pour faire le classement je lance la macro dès que la valeur en G1 (nom de
la page) change
Pour activer cette macro j’ai fait
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$1" And Target <> "" Then
classement ' gestion du tableau de classement
End If
End Sub
Mais le problème c’est qu’il commence à faire le classement avant que les
données soient misent à jour.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour Regarde du côté de la fonction INDIRECT afin de construire ta formule en faisant référence à une partie située en G1. Par exemple : =INDIRECT(G1 & "!A1") (Dans l'hypothèse où tu as bien uniquement le nom de la feuille en G1)
Cordialement Pascal
"Jean-Michel" a écrit dans le message de news:
Bonjour à tous
Je voudrais faire une copie de cellule se trouvant sur une autre Page Je sais que la commande pour cela est : =sheet1!A1
J'ai un tableau de moyenne Ce que je voudrais faire c'est changer le nom de la page mais pas la cellule (ex pour la même cellule =Sheet1!A1 ou Sheet2!A1 ou etc.) Pour cela g crée une liste avec tous les noms des pages (en G1)
Je voudrais faire cela sans macro car j'ai réalisé une fonction mais cela met un certain temps à s'exécuter car j'ai 140 cellules à modifier
Voici le code de la fonction : Entrée : page et la cellule à copier Sortie : valeur de la cellule en question (la cellule étant du texte)
Public Function cop(page As String, cell As String) As String cop = Sheets(page).Range(cell).Value End Function
Cette solution fonctionne mais je voudrais classer le tableau et masquer toutes les lignes vides Donc j'ai crée une macro classement. Cette macro fonctionne.
Pour faire le classement je lance la macro dès que la valeur en G1 (nom de la page) change
Pour activer cette macro j'ai fait Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$G$1" And Target <> "" Then classement ' gestion du tableau de classement End If End Sub
Mais le problème c'est qu'il commence à faire le classement avant que les données soient misent à jour.
merci d'avance Jean-Michel
Bonjour
Regarde du côté de la fonction INDIRECT afin de construire ta formule en
faisant référence à une partie située en G1.
Par exemple :
=INDIRECT(G1 & "!A1")
(Dans l'hypothèse où tu as bien uniquement le nom de la feuille en G1)
Cordialement
Pascal
"Jean-Michel" <JeanMichel@discussions.microsoft.com> a écrit dans le message
de news: 5681C026-8D85-4812-A93E-866AE76CC8FE@microsoft.com...
Bonjour à tous
Je voudrais faire une copie de cellule se trouvant sur une autre Page
Je sais que la commande pour cela est : =sheet1!A1
J'ai un tableau de moyenne
Ce que je voudrais faire c'est changer le nom de la page mais pas la
cellule
(ex pour la même cellule =Sheet1!A1 ou Sheet2!A1 ou etc.)
Pour cela g crée une liste avec tous les noms des pages (en G1)
Je voudrais faire cela sans macro car j'ai réalisé une fonction mais cela
met un certain temps à s'exécuter car j'ai 140 cellules à modifier
Voici le code de la fonction :
Entrée : page et la cellule à copier
Sortie : valeur de la cellule en question (la cellule étant du texte)
Public Function cop(page As String, cell As String) As String
cop = Sheets(page).Range(cell).Value
End Function
Cette solution fonctionne mais je voudrais classer le tableau et masquer
toutes les lignes vides
Donc j'ai crée une macro classement. Cette macro fonctionne.
Pour faire le classement je lance la macro dès que la valeur en G1 (nom de
la page) change
Pour activer cette macro j'ai fait
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$1" And Target <> "" Then
classement ' gestion du tableau de classement
End If
End Sub
Mais le problème c'est qu'il commence à faire le classement avant que les
données soient misent à jour.
Bonjour Regarde du côté de la fonction INDIRECT afin de construire ta formule en faisant référence à une partie située en G1. Par exemple : =INDIRECT(G1 & "!A1") (Dans l'hypothèse où tu as bien uniquement le nom de la feuille en G1)
Cordialement Pascal
"Jean-Michel" a écrit dans le message de news:
Bonjour à tous
Je voudrais faire une copie de cellule se trouvant sur une autre Page Je sais que la commande pour cela est : =sheet1!A1
J'ai un tableau de moyenne Ce que je voudrais faire c'est changer le nom de la page mais pas la cellule (ex pour la même cellule =Sheet1!A1 ou Sheet2!A1 ou etc.) Pour cela g crée une liste avec tous les noms des pages (en G1)
Je voudrais faire cela sans macro car j'ai réalisé une fonction mais cela met un certain temps à s'exécuter car j'ai 140 cellules à modifier
Voici le code de la fonction : Entrée : page et la cellule à copier Sortie : valeur de la cellule en question (la cellule étant du texte)
Public Function cop(page As String, cell As String) As String cop = Sheets(page).Range(cell).Value End Function
Cette solution fonctionne mais je voudrais classer le tableau et masquer toutes les lignes vides Donc j'ai crée une macro classement. Cette macro fonctionne.
Pour faire le classement je lance la macro dès que la valeur en G1 (nom de la page) change
Pour activer cette macro j'ai fait Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$G$1" And Target <> "" Then classement ' gestion du tableau de classement End If End Sub
Mais le problème c'est qu'il commence à faire le classement avant que les données soient misent à jour.