Explication de formule

Le
Vince
Bonjour,
je viens de trouver cette proc sur le forum qui fonctionne parfaitement.
Puis je avoir l'explication ?
Merci beaucoup
Vince

Sub Toto()
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) = "nopaye"
End Sub
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #1329647
Bonjour Vince,

Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) = "nopaye"

Tu n'as qu'à décortiquer la formule en ses éléments :

Range(cell1,cell2) = "nopaye"

PREMIÈRE PARTIE DE LA FORMULE : CELL1

cell1 = [C65536].End(xlUp)(2),
[C65536] ou range("C65536") = pour les besoins de la cause ici , c'est la même chose.. même si je préfère cette
syntaxe
"range("C65536")"

range("C65536").End(xlUp) va retourner la première cellule non vide qu'i va rencontrer dans la colonne C en partant de
la ligne 65536

range("C65536").End(xlUp)(2) : le (2) c'est un abrégé pour la propriété "Item" , on devrait lire :
range("C65536").End(xlUp).item(2)

La propriété "Item" a 2 éléments Item(ligne,colonne) , un peu à la manière de la propriété Offset d'un objet Range,

range("C65536").End(xlUp)(2) le (2) permet de se déplacer de la dernière cellule trouvé non vide à la cellule juste en
dessous vers le bas de la feuille --> donc la PREMIÈRE cellule vide APRÈS LA DERNIÈRE CELLULE NON VIDE.


DEUXIÈME PARTIE DE LA FORMULE : CELL2

[A65536].End(xlUp) Pour cette section: l'explication a déjà été donnée c'est la même pour pour la cell1, il n'y a que la
colonne qui change.

Après avoir trouvé avec ceci "[A65536].End(xlUp)", la première cellule non vide de la colonne A, la méthode Offset(0,
2) qui contient 2 éléments offset(ligne,colonne) , permet de se déplacer de la colonne A à la colonne C sur une ligne
donnée.


CONCLUSION :

Cell1 = Première cellule vide après la dernière cellule occupée de la colonne C en partant de 65536

Cell2 = Identifie la première cellule occupée de la colonne A en partant de 65536 .... avec la méthode offset, il y a
un déplacement de la cellule trouvée en colonne A vers la colonne C


Range(cell1,cell2) = "nopaye" c'est l'équivalent à :

Range("C10:C12") = "nopaye"


Salutations!





"Vince" Bonjour,
je viens de trouver cette proc sur le forum qui fonctionne parfaitement.
Puis je avoir l'explication ?
Merci beaucoup
Vince

Sub Toto()
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) = "nopaye"
End Sub
Herdet
Le #1329646
Bonsoir Vince,
C'est pourtant simple à comprendre........non, je plaisante !
Pour comprendre cette commande tordue mais efficace on peut la décomposer
comme suit et l'exécuter pas à pas :
Sachant que :
[C65536] est équivalent à Range("C65536") en version Exécutable
[C65536].End(xlUp) déplace la sélection vers le haut depuis la cellule
C65536
End(xlUp)(2) ... Ah ce (2), je le savais pourtant !
Offset(0, 2). déplace la sélection de 0 ligne vers le bas et de 2
colonnes à droite

Sub Toto()
' 1) sélection dernière cellule vide de la colonne C
[C65536].End(xlUp)(2).Select
' 2) sélection dernière cellule vide de la colonne A
[A65536].End(xlUp).Select
' 3) sélection de la cellule de la colonne C même ligne que la dernière
ligne non vide de la colonne A
[A65536].End(xlUp).Offset(0, 2).Select
' 4) sélection de la plage ploint 1 à point 3
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)).Select
' 5) remplissage de la plage de la colonne C point 1 à point 3 avec le
texte "nopaye"
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) = "nopaye"
End Sub

Cordialement
Robert

"Vince"
Bonjour,
je viens de trouver cette proc sur le forum qui fonctionne parfaitement.
Puis je avoir l'explication ?
Merci beaucoup
Vince

Sub Toto()
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) = "nopaye"
End Sub




Vince
Le #1329644
Merci beaucoup beaucoup c'est vraiment très sympa de ta part.

Vince

"michdenis" news:%
Bonjour Vince,

Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) = "nopaye"

Tu n'as qu'à décortiquer la formule en ses éléments :

Range(cell1,cell2) = "nopaye"

PREMIÈRE PARTIE DE LA FORMULE : CELL1

cell1 = [C65536].End(xlUp)(2),
[C65536] ou range("C65536") = pour les besoins de la cause ici , c'est
la même chose.. même si je préfère cette

syntaxe
"range("C65536")"

range("C65536").End(xlUp) va retourner la première cellule non vide qu'i
va rencontrer dans la colonne C en partant de

la ligne 65536

range("C65536").End(xlUp)(2) : le (2) c'est un abrégé pour la propriété
"Item" , on devrait lire :

range("C65536").End(xlUp).item(2)

La propriété "Item" a 2 éléments Item(ligne,colonne) , un peu à la
manière de la propriété Offset d'un objet Range,


range("C65536").End(xlUp)(2) le (2) permet de se déplacer de la dernière
cellule trouvé non vide à la cellule juste en

dessous vers le bas de la feuille --> donc la PREMIÈRE cellule vide APRÈS
LA DERNIÈRE CELLULE NON VIDE.



DEUXIÈME PARTIE DE LA FORMULE : CELL2

[A65536].End(xlUp) Pour cette section: l'explication a déjà été donnée
c'est la même pour pour la cell1, il n'y a que la

colonne qui change.

Après avoir trouvé avec ceci "[A65536].End(xlUp)", la première cellule
non vide de la colonne A, la méthode Offset(0,

2) qui contient 2 éléments offset(ligne,colonne) , permet de se déplacer
de la colonne A à la colonne C sur une ligne

donnée.


CONCLUSION :

Cell1 = Première cellule vide après la dernière cellule occupée de la
colonne C en partant de 65536


Cell2 = Identifie la première cellule occupée de la colonne A en partant
de 65536 .... avec la méthode offset, il y a

un déplacement de la cellule trouvée en colonne A vers la colonne C


Range(cell1,cell2) = "nopaye" c'est l'équivalent à :

Range("C10:C12") = "nopaye"


Salutations!





"Vince" news:

Bonjour,
je viens de trouver cette proc sur le forum qui fonctionne parfaitement.
Puis je avoir l'explication ?
Merci beaucoup
Vince

Sub Toto()
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) = "nopaye"
End Sub





Vince
Le #1329643
Merci beaucoup beaucoup c'est vraiment très sympa de ta part.

Vince

"Herdet" news:
Bonsoir Vince,
C'est pourtant simple à comprendre........non, je plaisante !
Pour comprendre cette commande tordue mais efficace on peut la décomposer
comme suit et l'exécuter pas à pas :
Sachant que :
[C65536] est équivalent à Range("C65536") en version Exécutable
[C65536].End(xlUp) déplace la sélection vers le haut depuis la
cellule

C65536
End(xlUp)(2) ... Ah ce (2), je le savais pourtant !
Offset(0, 2). déplace la sélection de 0 ligne vers le bas et de 2
colonnes à droite

Sub Toto()
' 1) sélection dernière cellule vide de la colonne C
[C65536].End(xlUp)(2).Select
' 2) sélection dernière cellule vide de la colonne A
[A65536].End(xlUp).Select
' 3) sélection de la cellule de la colonne C même ligne que la
dernière

ligne non vide de la colonne A
[A65536].End(xlUp).Offset(0, 2).Select
' 4) sélection de la plage ploint 1 à point 3
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)).Select
' 5) remplissage de la plage de la colonne C point 1 à point 3 avec
le

texte "nopaye"
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) "nopaye"
End Sub

Cordialement
Robert

"Vince"
Bonjour,
je viens de trouver cette proc sur le forum qui fonctionne parfaitement.
Puis je avoir l'explication ?
Merci beaucoup
Vince

Sub Toto()
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) = "nopaye"
End Sub








Herdet
Le #1329642
...suite
[A65536].End(xlUp)(2).Select veut dire depuis la ligne 2

Robert

"Herdet"
Bonsoir Vince,
C'est pourtant simple à comprendre........non, je plaisante !
Pour comprendre cette commande tordue mais efficace on peut la décomposer
comme suit et l'exécuter pas à pas :
Sachant que :
[C65536] est équivalent à Range("C65536") en version Exécutable
[C65536].End(xlUp) déplace la sélection vers le haut depuis la
cellule

C65536
End(xlUp)(2) ... Ah ce (2), je le savais pourtant !
Offset(0, 2). déplace la sélection de 0 ligne vers le bas et de 2
colonnes à droite

Sub Toto()
' 1) sélection dernière cellule vide de la colonne C
[C65536].End(xlUp)(2).Select
' 2) sélection dernière cellule vide de la colonne A
[A65536].End(xlUp).Select
' 3) sélection de la cellule de la colonne C même ligne que la
dernière

ligne non vide de la colonne A
[A65536].End(xlUp).Offset(0, 2).Select
' 4) sélection de la plage ploint 1 à point 3
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)).Select
' 5) remplissage de la plage de la colonne C point 1 à point 3 avec
le

texte "nopaye"
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) "nopaye"
End Sub

Cordialement
Robert

"Vince"
Bonjour,
je viens de trouver cette proc sur le forum qui fonctionne parfaitement.
Puis je avoir l'explication ?
Merci beaucoup
Vince

Sub Toto()
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) = "nopaye"
End Sub








Herdet
Le #1329641
.... une autre façon de voir la chose avec le n° de la colonne C
Range(Cells([C65536].End(xlUp).Row, 3), Cells([A65536].End(xlUp).Row, 3)) "nopaye"

Robert

"Herdet"
Bonsoir Vince,
C'est pourtant simple à comprendre........non, je plaisante !
Pour comprendre cette commande tordue mais efficace on peut la décomposer
comme suit et l'exécuter pas à pas :
Sachant que :
[C65536] est équivalent à Range("C65536") en version Exécutable
[C65536].End(xlUp) déplace la sélection vers le haut depuis la
cellule

C65536
End(xlUp)(2) ... Ah ce (2), je le savais pourtant !
Offset(0, 2). déplace la sélection de 0 ligne vers le bas et de 2
colonnes à droite

Sub Toto()
' 1) sélection dernière cellule vide de la colonne C
[C65536].End(xlUp)(2).Select
' 2) sélection dernière cellule vide de la colonne A
[A65536].End(xlUp).Select
' 3) sélection de la cellule de la colonne C même ligne que la
dernière

ligne non vide de la colonne A
[A65536].End(xlUp).Offset(0, 2).Select
' 4) sélection de la plage ploint 1 à point 3
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)).Select
' 5) remplissage de la plage de la colonne C point 1 à point 3 avec
le

texte "nopaye"
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) "nopaye"
End Sub

Cordialement
Robert

"Vince"
Bonjour,
je viens de trouver cette proc sur le forum qui fonctionne parfaitement.
Puis je avoir l'explication ?
Merci beaucoup
Vince

Sub Toto()
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) = "nopaye"
End Sub








sabatier
Le #1340232
pas tout à fait, robert, pas tout à fait...
allez file au piquet deux heures et ensuite va rejoindre la classe du
professeur michon...
jps

Herdet a écrit:
....suite
[A65536].End(xlUp)(2).Select veut dire depuis la ligne 2

Robert

"Herdet"

Bonsoir Vince,
C'est pourtant simple à comprendre........non, je plaisante !
Pour comprendre cette commande tordue mais efficace on peut la décomposer
comme suit et l'exécuter pas à pas :
Sachant que :
[C65536] est équivalent à Range("C65536") en version Exécutable
[C65536].End(xlUp) déplace la sélection vers le haut depuis la


cellule

C65536
End(xlUp)(2) ... Ah ce (2), je le savais pourtant !
Offset(0, 2). déplace la sélection de 0 ligne vers le bas et de 2
colonnes à droite

Sub Toto()
' 1) sélection dernière cellule vide de la colonne C
[C65536].End(xlUp)(2).Select
' 2) sélection dernière cellule vide de la colonne A
[A65536].End(xlUp).Select
' 3) sélection de la cellule de la colonne C même ligne que la


dernière

ligne non vide de la colonne A
[A65536].End(xlUp).Offset(0, 2).Select
' 4) sélection de la plage ploint 1 à point 3
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)).Select
' 5) remplissage de la plage de la colonne C point 1 à point 3 avec


le

texte "nopaye"
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) >
"nopaye"


End Sub

Cordialement
Robert

"Vince"

Bonjour,
je viens de trouver cette proc sur le forum qui fonctionne parfaitement.
Puis je avoir l'explication ?
Merci beaucoup
Vince

Sub Toto()
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) = "nopaye"
End Sub












Herdet
Le #1340208
Salut mon cher Président qui devrait réfléchir avant d'appuyer sur Entrée,
Pour se mettre à la portée d'élèves de ton niveau excelien, le Professeur
Michon est obligé d'utiliser la version basique de End(xlUp).item(xx,xx)
mais on peut faire plus court..

End(xlUp)(2) est la version allégée de End(xlUp).item(2)
de même
End(xlUp)(2,4) est la version allégée de End(xlUp).item(2,4)
Pourquoi faire compliqué.......?
Si tu veux évoluer un peu, recherche "End(xlUp)(2)" sur Google et va voir
sur :
http://www.excelabo.net/xl/outils.php
http://ericrenaud.free.fr/droitefichiers.htm
http://www.excel-downloads.com/html/French/forum/messages/1_83927_83927.htm
etc...
ou bien recherche "End(xlUp).item" et va voir sur :
http://www.utteraccess.com/forums/access/access477633.html

Satisfait mon cher Watson ?
Et faites moi vos 2 heures au piquet avec 100 ligne de End(xlUp)(2).
Amitiès
Robert


"sabatier" de news:
pas tout à fait, robert, pas tout à fait...
allez file au piquet deux heures et ensuite va rejoindre la classe du
professeur michon...
jps

Herdet a écrit:
....suite
[A65536].End(xlUp)(2).Select veut dire depuis la ligne 2

Robert

"Herdet"

Bonsoir Vince,
C'est pourtant simple à comprendre........non, je plaisante !
Pour comprendre cette commande tordue mais efficace on peut la
décomposer



comme suit et l'exécuter pas à pas :
Sachant que :
[C65536] est équivalent à Range("C65536") en version Exécutable
[C65536].End(xlUp) déplace la sélection vers le haut depuis la


cellule

C65536
End(xlUp)(2) ... Ah ce (2), je le savais pourtant !
Offset(0, 2). déplace la sélection de 0 ligne vers le bas et de 2
colonnes à droite

Sub Toto()
' 1) sélection dernière cellule vide de la colonne C
[C65536].End(xlUp)(2).Select
' 2) sélection dernière cellule vide de la colonne A
[A65536].End(xlUp).Select
' 3) sélection de la cellule de la colonne C même ligne que la


dernière

ligne non vide de la colonne A
[A65536].End(xlUp).Offset(0, 2).Select
' 4) sélection de la plage ploint 1 à point 3
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)).Select
' 5) remplissage de la plage de la colonne C point 1 à point 3 avec


le

texte "nopaye"
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) > >
"nopaye"


End Sub

Cordialement
Robert

"Vince"

Bonjour,
je viens de trouver cette proc sur le forum qui fonctionne
parfaitement.




Puis je avoir l'explication ?
Merci beaucoup
Vince

Sub Toto()
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) "nopaye"
End Sub















sabatier
Le #1340206
ok, ok, robert, ne te fâche pas sinon je garde mon brin de muguet, le
second étant destinée à toutes les gentes dames et damoiselles
fréquentant ce forum...
ce qui m'a fait tiquer, c'est le DEPUIS la ligne 2 qui a dû semer le
doute dans l'esprit de Vince qui venait de lire le pamphlet de michel
alias denis!!!
jps

Herdet a écrit:
Salut mon cher Président qui devrait réfléchir avant d'appuyer sur Entrée,
Pour se mettre à la portée d'élèves de ton niveau excelien, le Professeur
Michon est obligé d'utiliser la version basique de End(xlUp).item(xx,xx)
mais on peut faire plus court..

End(xlUp)(2) est la version allégée de End(xlUp).item(2)
de même
End(xlUp)(2,4) est la version allégée de End(xlUp).item(2,4)
Pourquoi faire compliqué.......?
Si tu veux évoluer un peu, recherche "End(xlUp)(2)" sur Google et va voir
sur :
http://www.excelabo.net/xl/outils.php
http://ericrenaud.free.fr/droitefichiers.htm
http://www.excel-downloads.com/html/French/forum/messages/1_83927_83927.htm
etc...
ou bien recherche "End(xlUp).item" et va voir sur :
http://www.utteraccess.com/forums/access/access477633.html

Satisfait mon cher Watson ?
Et faites moi vos 2 heures au piquet avec 100 ligne de End(xlUp)(2).
Amitiès
Robert


"sabatier" de news:

pas tout à fait, robert, pas tout à fait...
allez file au piquet deux heures et ensuite va rejoindre la classe du
professeur michon...
jps

Herdet a écrit:

....suite
[A65536].End(xlUp)(2).Select veut dire depuis la ligne 2

Robert

"Herdet"


Bonsoir Vince,
C'est pourtant simple à comprendre........non, je plaisante !
Pour comprendre cette commande tordue mais efficace on peut la


décomposer



comme suit et l'exécuter pas à pas :
Sachant que :
[C65536] est équivalent à Range("C65536") en version Exécutable
[C65536].End(xlUp) déplace la sélection vers le haut depuis la


cellule


C65536
End(xlUp)(2) ... Ah ce (2), je le savais pourtant !
Offset(0, 2). déplace la sélection de 0 ligne vers le bas et de 2
colonnes à droite

Sub Toto()
' 1) sélection dernière cellule vide de la colonne C
[C65536].End(xlUp)(2).Select
' 2) sélection dernière cellule vide de la colonne A
[A65536].End(xlUp).Select
' 3) sélection de la cellule de la colonne C même ligne que la


dernière


ligne non vide de la colonne A
[A65536].End(xlUp).Offset(0, 2).Select
' 4) sélection de la plage ploint 1 à point 3
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)).Select
' 5) remplissage de la plage de la colonne C point 1 à point 3 avec


le


texte "nopaye"
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) >>>
"nopaye"



End Sub

Cordialement
Robert

"Vince"


Bonjour,
je viens de trouver cette proc sur le forum qui fonctionne


parfaitement.




Puis je avoir l'explication ?
Merci beaucoup
Vince

Sub Toto()
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) >>>>
"nopaye"





End Sub

















Herdet
Le #1340204
Bon, admettons, pour en rester là, que l'explication de Denis était plus
pédagogique que la mienne qui sous entendait un décalage depuis le haut et
non depuis le bas.

Un seul second brin de muguet pour toutes les gentes dames et damoiselles
fréquentant ce forum !!!!
Un brin pour chacune d'entre elles aurait été préférable pour ne pas faire
créer de jalousie.
Ta pingrerie te perdra JP.

Sur ce, déjeuner et peut être un petit tour à la foire de Paris.
Amitiés
Robert


"sabatier" message de news:
ok, ok, robert, ne te fâche pas sinon je garde mon brin de muguet, le
second étant destinée à toutes les gentes dames et damoiselles
fréquentant ce forum...
ce qui m'a fait tiquer, c'est le DEPUIS la ligne 2 qui a dû semer le
doute dans l'esprit de Vince qui venait de lire le pamphlet de michel
alias denis!!!
jps

Herdet a écrit:
Salut mon cher Président qui devrait réfléchir avant d'appuyer sur
Entrée,


Pour se mettre à la portée d'élèves de ton niveau excelien, le
Professeur


Michon est obligé d'utiliser la version basique de End(xlUp).item(xx,xx)
mais on peut faire plus court..

End(xlUp)(2) est la version allégée de End(xlUp).item(2)
de même
End(xlUp)(2,4) est la version allégée de End(xlUp).item(2,4)
Pourquoi faire compliqué.......?
Si tu veux évoluer un peu, recherche "End(xlUp)(2)" sur Google et va
voir


sur :
http://www.excelabo.net/xl/outils.php
http://ericrenaud.free.fr/droitefichiers.htm

http://www.excel-downloads.com/html/French/forum/messages/1_83927_83927.htm


etc...
ou bien recherche "End(xlUp).item" et va voir sur :
http://www.utteraccess.com/forums/access/access477633.html

Satisfait mon cher Watson ?
Et faites moi vos 2 heures au piquet avec 100 ligne de End(xlUp)(2).
Amitiès
Robert


"sabatier" message


de news:

pas tout à fait, robert, pas tout à fait...
allez file au piquet deux heures et ensuite va rejoindre la classe du
professeur michon...
jps

Herdet a écrit:

....suite
[A65536].End(xlUp)(2).Select veut dire depuis la ligne 2

Robert

"Herdet"


Bonsoir Vince,
C'est pourtant simple à comprendre........non, je plaisante !
Pour comprendre cette commande tordue mais efficace on peut la


décomposer



comme suit et l'exécuter pas à pas :
Sachant que :
[C65536] est équivalent à Range("C65536") en version Exécutable
[C65536].End(xlUp) déplace la sélection vers le haut depuis la


cellule


C65536
End(xlUp)(2) ... Ah ce (2), je le savais pourtant !
Offset(0, 2). déplace la sélection de 0 ligne vers le bas et de 2
colonnes à droite

Sub Toto()
' 1) sélection dernière cellule vide de la colonne C
[C65536].End(xlUp)(2).Select
' 2) sélection dernière cellule vide de la colonne A
[A65536].End(xlUp).Select
' 3) sélection de la cellule de la colonne C même ligne que la


dernière


ligne non vide de la colonne A
[A65536].End(xlUp).Offset(0, 2).Select
' 4) sélection de la plage ploint 1 à point 3
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0,
2)).Select





' 5) remplissage de la plage de la colonne C point 1 à point 3
avec






le


texte "nopaye"
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) > >>>
"nopaye"



End Sub

Cordialement
Robert

"Vince"


Bonjour,
je viens de trouver cette proc sur le forum qui fonctionne


parfaitement.




Puis je avoir l'explication ?
Merci beaucoup
Vince

Sub Toto()
Range([C65536].End(xlUp)(2), [A65536].End(xlUp).Offset(0, 2)) > >>>>
"nopaye"





End Sub




















Publicité
Poster une réponse
Anonyme