Merci à toutes et toutes pour votre aide précieuse.
Je vais essayer tout cela et vous tiendrais au courant.
A+
De: "docm" <docmarti@spamcolba.net>
Objet: Re: Comment enlever une cellule précise d'un nom
Date: vendredi 23 juillet 2004 03:49
Bonjour Philippe.
Pour apporter un complément à ta suggestion, je propose les modifications
suivantes:
Sub enlevatoto()
'MPFE le 22/07/2004
x = ActiveWorkbook.Names("toto").RefersTo
zaza = ActiveCell.Address 'ou bien ta cellule fixe par ex : $a$1
nomfeuil = ActiveSheet.Name
lapos = Application.WorksheetFunction.Find(zaza, x)
NomFeuilleEtZaza = ActiveSheet.Name & "!" & zaza
'Supprimer la référence si elle n'est pas en fin de liste
While InStr(x, NomFeuilleEtZaza & ",") > 0
b = InStr(x, NomFeuilleEtZaza & ",")
L = Len(NomFeuilleEtZaza & ",")
x = Mid(x, 1, b - 1) & Mid(x, b + L)
Wend
'Supprimer la référence si elle est en fin de liste
If InStr(x, NomFeuilleEtZaza) > 0 Then
b = InStr(x, NomFeuilleEtZaza)
L = Len(NomFeuilleEtZaza)
If b + L - 1 = Len(x) Then
x = Mid(x, 1, b - 1) & Mid(x, b + L)
End If
End If
ActiveWorkbook.Names.Add Name:="toto", RefersTo:="" & nouvtata
End Sub
Sous toutes réserves.
"Philippe.R" <A_S_rauphil@wanadoo.fr> wrote in message
news:uTVEwPDcEHA.2816@TK2MSFTNGP11.phx.gbl...
> Bon{j,s}o{u,i}r®
>
> Je viens aussi sur cette nouvelle ficelle pour proposer :
>
> Sub enlevatata()
> 'MPFE le 22/07/2004
> x = ActiveWorkbook.Names("tata").RefersTo
> zaza = ActiveCell.Address 'ou bien ta cellule fixe par ex : $a$1
> nomfeuil = ActiveSheet.Name
> lapos = Application.WorksheetFunction.Find(zaza, x)
> If Len(x) - lapos - Len(zaza) > 0 Then
> partdroite = Right(x, Len(x) - lapos - Len(zaza))
> Else
> partdroite = ""
> End If
> nouvtata = Left(x, lapos - 3 - Len(nomfeuil)) & partdroite
> ActiveWorkbook.Names.Add Name:="tata", RefersTo:="" & nouvtata
> End Sub
>
> Amicales Salutations
> Retirer A_S_ pour répondre.
> XL 97 / 2000 / 2002
> Pour suivre facilement le forum :
> news://msnews.microsoft.com/microsoft.public.fr.excel
> (Voulez-vous vous abonner ? -> Oui)
>
> "dcq" <fauxmail_dcq125@free.fr> a écrit dans le message de
> news:41002cc3$0$14844$636a15ce@news.free.fr...
> > La plage à enlever sera toujours la même cellule, déterminée par ses
> > coordonnées par exemple A1. En revanche, le contenu du nom "TOTO", sera
> > variable, en fonction du nombre d'enregistrement de la feuille. Mais
comme
> > les ajouts se font par le haut, ce sera toujours la meme cellule, chaque
> > fois que l'on veut enlever une partie, qui sera effacée
> >
> > Merci d'avance
> >
> >
> >
> > "isabelle" <as.isabellevIE@videotron.ca> a écrit dans le message de
> > news:410002FF.552788DC@videotron.ca...
> > > il faudrait nous dire qu'est ce qui détermine la plage à enlever de la
> > > référence,
> > >
> > > isabelle
> > >
> > > dcq a écrit :
> > > >
> > > > Le probleme est que l'utilisateur ne doit pas définir les plages, je
> > veux
> > > > que cela soit fait automatiquement au sein d'une macro qui enleve
des
> > > > enregistrements.
> > > >
> > > > "isabelle" <as.isabellevIE@videotron.ca> a écrit dans le message de
> > > > news:40FFE8E2.2D8C60D3@videotron.ca...
> > > > > bonjour dcq,
> > > > >
> > > > > x = Names("zaza").RefersTo
> > > > > plage = InputBox("Modifier cette référence", Title:="Modifier",
> > > > > Default:=x)
> > > > > Names.Add Name:="zaza", RefersTo:="" & plage
> > > > >
> > > > > isabelle
> > > > >
> > > > > dcq a écrit :
> > > > > >
> > > > > > Impossible, car je ne connais pas la teneur de toto à l'instant
ou
> > je
> > > > lance
> > > > > > la macro. Je ne peux donc le faire autrement que par toto-A1. En
> > > > revahcne,
> > > > > > je sais que A1 sera dans toto.
> > > > > >
> > > > > > "AV" <alain.vallon@wanadoo.fr> a écrit dans le message de
> > > > > > news:uG79XGAcEHA.596@TK2MSFTNGP11.phx.gbl...
> > > > > > > Tu le redéfinis en "oubliant" A1 :
> > > > > > >
> > > > > > > ActiveWorkbook.Names.Add Name:="toto", RefersTo:= _
> > > > > > > "=Feuil1!$A$8,Feuil1!$A$15,Feuil1!$A$22,Feuil1!$A$29"
> > > > > > >
> > > > > > > AV
> > > > > > >
> > > > > > >
> >
> >
>
>
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
Philippe.R
C'était avec plaisir ! -- Amicales Salutations
"dcq" a écrit dans le message de news:cdrl1f$ckl$
Merci à toutes et toutes pour votre aide précieuse. Je vais essayer tout cela et vous tiendrais au courant. A+
De: "docm" Objet: Re: Comment enlever une cellule précise d'un nom Date: vendredi 23 juillet 2004 03:49
Bonjour Philippe.
Pour apporter un complément à ta suggestion, je propose les modifications suivantes:
Sub enlevatoto() 'MPFE le 22/07/2004 x = ActiveWorkbook.Names("toto").RefersTo zaza = ActiveCell.Address 'ou bien ta cellule fixe par ex : $a$1 nomfeuil = ActiveSheet.Name lapos = Application.WorksheetFunction.Find(zaza, x) NomFeuilleEtZaza = ActiveSheet.Name & "!" & zaza 'Supprimer la référence si elle n'est pas en fin de liste While InStr(x, NomFeuilleEtZaza & ",") > 0 b = InStr(x, NomFeuilleEtZaza & ",") L = Len(NomFeuilleEtZaza & ",") x = Mid(x, 1, b - 1) & Mid(x, b + L) Wend 'Supprimer la référence si elle est en fin de liste If InStr(x, NomFeuilleEtZaza) > 0 Then b = InStr(x, NomFeuilleEtZaza) L = Len(NomFeuilleEtZaza) If b + L - 1 = Len(x) Then x = Mid(x, 1, b - 1) & Mid(x, b + L) End If End If
ActiveWorkbook.Names.Add Name:="toto", RefersTo:="" & nouvtata End Sub
Sous toutes réserves.
"Philippe.R" wrote in message news:
Bon{j,s}o{u,i}r®
Je viens aussi sur cette nouvelle ficelle pour proposer :
Sub enlevatata() 'MPFE le 22/07/2004 x = ActiveWorkbook.Names("tata").RefersTo zaza = ActiveCell.Address 'ou bien ta cellule fixe par ex : $a$1 nomfeuil = ActiveSheet.Name lapos = Application.WorksheetFunction.Find(zaza, x) If Len(x) - lapos - Len(zaza) > 0 Then partdroite = Right(x, Len(x) - lapos - Len(zaza)) Else partdroite = "" End If nouvtata = Left(x, lapos - 3 - Len(nomfeuil)) & partdroite ActiveWorkbook.Names.Add Name:="tata", RefersTo:="" & nouvtata End Sub
Amicales Salutations Retirer A_S_ pour répondre. XL 97 / 2000 / 2002 Pour suivre facilement le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"dcq" a écrit dans le message de news:41002cc3$0$14844$
La plage à enlever sera toujours la même cellule, déterminée par ses coordonnées par exemple A1. En revanche, le contenu du nom "TOTO", sera variable, en fonction du nombre d'enregistrement de la feuille. Mais comme
les ajouts se font par le haut, ce sera toujours la meme cellule, chaque fois que l'on veut enlever une partie, qui sera effacée
Merci d'avance
"isabelle" a écrit dans le message de news:
il faudrait nous dire qu'est ce qui détermine la plage à enlever de la référence,
isabelle
Le probleme est que l'utilisateur ne doit pas définir les plages, je veux
que cela soit fait automatiquement au sein d'une macro qui enleve des
enregistrements.
"isabelle" a écrit dans le message de news:
bonjour dcq,
x = Names("zaza").RefersTo plage = InputBox("Modifier cette référence", Title:="Modifier", Default:=x) Names.Add Name:="zaza", RefersTo:="" & plage
isabelle
Impossible, car je ne connais pas la teneur de toto à l'instant ou
je
lance
la macro. Je ne peux donc le faire autrement que par toto-A1. En revahcne,
"dcq" <fauxmail@free.fr> a écrit dans le message de news:cdrl1f$ckl$1@reader1.imaginet.fr...
Merci à toutes et toutes pour votre aide précieuse.
Je vais essayer tout cela et vous tiendrais au courant.
A+
De: "docm" <docmarti@spamcolba.net>
Objet: Re: Comment enlever une cellule précise d'un nom
Date: vendredi 23 juillet 2004 03:49
Bonjour Philippe.
Pour apporter un complément à ta suggestion, je propose les modifications
suivantes:
Sub enlevatoto()
'MPFE le 22/07/2004
x = ActiveWorkbook.Names("toto").RefersTo
zaza = ActiveCell.Address 'ou bien ta cellule fixe par ex : $a$1
nomfeuil = ActiveSheet.Name
lapos = Application.WorksheetFunction.Find(zaza, x)
NomFeuilleEtZaza = ActiveSheet.Name & "!" & zaza
'Supprimer la référence si elle n'est pas en fin de liste
While InStr(x, NomFeuilleEtZaza & ",") > 0
b = InStr(x, NomFeuilleEtZaza & ",")
L = Len(NomFeuilleEtZaza & ",")
x = Mid(x, 1, b - 1) & Mid(x, b + L)
Wend
'Supprimer la référence si elle est en fin de liste
If InStr(x, NomFeuilleEtZaza) > 0 Then
b = InStr(x, NomFeuilleEtZaza)
L = Len(NomFeuilleEtZaza)
If b + L - 1 = Len(x) Then
x = Mid(x, 1, b - 1) & Mid(x, b + L)
End If
End If
ActiveWorkbook.Names.Add Name:="toto", RefersTo:="" & nouvtata
End Sub
Sous toutes réserves.
"Philippe.R" <A_S_rauphil@wanadoo.fr> wrote in message
news:uTVEwPDcEHA.2816@TK2MSFTNGP11.phx.gbl...
Bon{j,s}o{u,i}r®
Je viens aussi sur cette nouvelle ficelle pour proposer :
Sub enlevatata()
'MPFE le 22/07/2004
x = ActiveWorkbook.Names("tata").RefersTo
zaza = ActiveCell.Address 'ou bien ta cellule fixe par ex : $a$1
nomfeuil = ActiveSheet.Name
lapos = Application.WorksheetFunction.Find(zaza, x)
If Len(x) - lapos - Len(zaza) > 0 Then
partdroite = Right(x, Len(x) - lapos - Len(zaza))
Else
partdroite = ""
End If
nouvtata = Left(x, lapos - 3 - Len(nomfeuil)) & partdroite
ActiveWorkbook.Names.Add Name:="tata", RefersTo:="" & nouvtata
End Sub
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre facilement le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"dcq" <fauxmail_dcq125@free.fr> a écrit dans le message de
news:41002cc3$0$14844$636a15ce@news.free.fr...
La plage à enlever sera toujours la même cellule, déterminée par ses
coordonnées par exemple A1. En revanche, le contenu du nom "TOTO", sera
variable, en fonction du nombre d'enregistrement de la feuille. Mais
comme
les ajouts se font par le haut, ce sera toujours la meme cellule, chaque
fois que l'on veut enlever une partie, qui sera effacée
Merci d'avance
"isabelle" <as.isabellevIE@videotron.ca> a écrit dans le message de
news:410002FF.552788DC@videotron.ca...
il faudrait nous dire qu'est ce qui détermine la plage à enlever de la
référence,
isabelle
Le probleme est que l'utilisateur ne doit pas définir les plages, je
veux
que cela soit fait automatiquement au sein d'une macro qui enleve
des
enregistrements.
"isabelle" <as.isabellevIE@videotron.ca> a écrit dans le message de
news:40FFE8E2.2D8C60D3@videotron.ca...
bonjour dcq,
x = Names("zaza").RefersTo
plage = InputBox("Modifier cette référence", Title:="Modifier",
Default:=x)
Names.Add Name:="zaza", RefersTo:="" & plage
isabelle
Impossible, car je ne connais pas la teneur de toto à l'instant
ou
je
lance
la macro. Je ne peux donc le faire autrement que par toto-A1. En
revahcne,
je sais que A1 sera dans toto.
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de
news:uG79XGAcEHA.596@TK2MSFTNGP11.phx.gbl...
Merci à toutes et toutes pour votre aide précieuse. Je vais essayer tout cela et vous tiendrais au courant. A+
De: "docm" Objet: Re: Comment enlever une cellule précise d'un nom Date: vendredi 23 juillet 2004 03:49
Bonjour Philippe.
Pour apporter un complément à ta suggestion, je propose les modifications suivantes:
Sub enlevatoto() 'MPFE le 22/07/2004 x = ActiveWorkbook.Names("toto").RefersTo zaza = ActiveCell.Address 'ou bien ta cellule fixe par ex : $a$1 nomfeuil = ActiveSheet.Name lapos = Application.WorksheetFunction.Find(zaza, x) NomFeuilleEtZaza = ActiveSheet.Name & "!" & zaza 'Supprimer la référence si elle n'est pas en fin de liste While InStr(x, NomFeuilleEtZaza & ",") > 0 b = InStr(x, NomFeuilleEtZaza & ",") L = Len(NomFeuilleEtZaza & ",") x = Mid(x, 1, b - 1) & Mid(x, b + L) Wend 'Supprimer la référence si elle est en fin de liste If InStr(x, NomFeuilleEtZaza) > 0 Then b = InStr(x, NomFeuilleEtZaza) L = Len(NomFeuilleEtZaza) If b + L - 1 = Len(x) Then x = Mid(x, 1, b - 1) & Mid(x, b + L) End If End If
ActiveWorkbook.Names.Add Name:="toto", RefersTo:="" & nouvtata End Sub
Sous toutes réserves.
"Philippe.R" wrote in message news:
Bon{j,s}o{u,i}r®
Je viens aussi sur cette nouvelle ficelle pour proposer :
Sub enlevatata() 'MPFE le 22/07/2004 x = ActiveWorkbook.Names("tata").RefersTo zaza = ActiveCell.Address 'ou bien ta cellule fixe par ex : $a$1 nomfeuil = ActiveSheet.Name lapos = Application.WorksheetFunction.Find(zaza, x) If Len(x) - lapos - Len(zaza) > 0 Then partdroite = Right(x, Len(x) - lapos - Len(zaza)) Else partdroite = "" End If nouvtata = Left(x, lapos - 3 - Len(nomfeuil)) & partdroite ActiveWorkbook.Names.Add Name:="tata", RefersTo:="" & nouvtata End Sub
Amicales Salutations Retirer A_S_ pour répondre. XL 97 / 2000 / 2002 Pour suivre facilement le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"dcq" a écrit dans le message de news:41002cc3$0$14844$
La plage à enlever sera toujours la même cellule, déterminée par ses coordonnées par exemple A1. En revanche, le contenu du nom "TOTO", sera variable, en fonction du nombre d'enregistrement de la feuille. Mais comme
les ajouts se font par le haut, ce sera toujours la meme cellule, chaque fois que l'on veut enlever une partie, qui sera effacée
Merci d'avance
"isabelle" a écrit dans le message de news:
il faudrait nous dire qu'est ce qui détermine la plage à enlever de la référence,
isabelle
Le probleme est que l'utilisateur ne doit pas définir les plages, je veux
que cela soit fait automatiquement au sein d'une macro qui enleve des
enregistrements.
"isabelle" a écrit dans le message de news:
bonjour dcq,
x = Names("zaza").RefersTo plage = InputBox("Modifier cette référence", Title:="Modifier", Default:=x) Names.Add Name:="zaza", RefersTo:="" & plage
isabelle
Impossible, car je ne connais pas la teneur de toto à l'instant ou
je
lance
la macro. Je ne peux donc le faire autrement que par toto-A1. En revahcne,