OVH Cloud OVH Cloud

automatisation du tri d'une feuille excel

5 réponses
Avatar
Hervé Frank-Dangel
Bonjour à tous,



Voila, je suis actuellement en stage dans une entreprise, et pour des
besoins professionnel, j'ai du constituer une base de donnée de fichier
client de 33 405 entreprises avec dans chaque colonne : nom, adresse, tel,
fax ......



Mon but est d'extraire 10% de cette base de donnée



pour ce faire, j'ai déjà commencé a tapé ma macro,



elle fonctionne ainsi:



1) je suis dans ma feuille 1, avec les 33 405 entreprises



2) les lignes 2 à 10, 12 à 20 , 22 à 30....([color=blue]il y'a "trente
paquets") [/color]sont sélectionnés

(ce qui laisse les lignes 1 , 11, 21....([color=blue]il y'a trente lignes)
[/color]en blanc (pas en surbrillance)



3) ma sélection est supprimer



4) les lignes 1, 11 , 21......... n'étant pas précédemment sélectionnées,
après la suppression, remonte et se transforme en lignes 1, 2 , 3....30



5)ces 30 nouvelles lignes sont sélectionnées, puis copier dans la feuille
2,puis enfin supprimer de la feuille 1







tout me va très bien jusqu'ici, mais je me heurte à un problème, et ma macro
n'est pas totalement automatisé:



-une fois ma macro lancer, je me retrouve donc à la fin dans la feuille 2,
avec mes lignes 1 a 30 sélectionnées, je dois alors cliquer sur la casse A31
puis appuyer sur échap avant de relancer ma macro, sous peine de voir mes 30
lignes disparaître et être remplacé par de nouvelles



le but est donc de faire tourner la macro en boucle jusqu'a ce qu'il n'y ai
plus d'entreprise dans la feuille1 mais que chaque sélection de 30
entreprises se colle l'une à la suite de l'autre dans feuille 2



Je ne sais pas comment faire pour "Looper" ma macro, qu'elle détecte les
champs vides, et qu'elle colle mes sélections avec une incrémentation de
A31, A61, A91 etc......



Voici ma macro:



Sub Macro1 ()

Range("2:10,12:20,22:30,32:40 (......)
282:290,292:300").Select

Selection.Delete Shift:=xlup

Rows("1:30").Select

Selection.copy

Sheets("feuil2").select

Activesheet.Paste

Sheets("Feuil1").select

Selection.Delete Shift:=xlUp

Range("A1").select

Sheets("Feuil2").select

Selection.copy

End Sub





Merci de vos réponse, elles me feront gagner un temps précieux, et en plus
cette expérience m'a permis de m'intéresser à VBA, et je suis bien motivé
pour progresser parmi vous.

5 réponses

Avatar
michdenis
Bonjour Hervé,

C'est quoi ça ...? des critères de filtre automatique ? Ta question dans son "objet" refère à une procédure de Tri" !
Sur quel critère dois-tu effectuer l'extraction de tes données ?

'------------------
2) les lignes 2 à 10, 12 à 20 , 22 à 30....([color=blue]il y'a "trente
paquets") [/color]sont sélectionnés

(ce qui laisse les lignes 1 , 11, 21....([color=blue]il y'a trente lignes)
[/color]en blanc (pas en surbrillance)

4) les lignes 1, 11 , 21......... n'étant pas précédemment sélectionnées,
après la suppression, remonte et se transforme en lignes 1, 2 , 3....30

5)ces 30 nouvelles lignes sont sélectionnées, puis copier dans la feuille
2,puis enfin supprimer de la feuille 1
'------------------


Salutations!



"Hervé Frank-Dangel" a écrit dans le message de
news:%
Bonjour à tous,



Voila, je suis actuellement en stage dans une entreprise, et pour des
besoins professionnel, j'ai du constituer une base de donnée de fichier
client de 33 405 entreprises avec dans chaque colonne : nom, adresse, tel,
fax ......



Mon but est d'extraire 10% de cette base de donnée



pour ce faire, j'ai déjà commencé a tapé ma macro,



elle fonctionne ainsi:



1) je suis dans ma feuille 1, avec les 33 405 entreprises



2) les lignes 2 à 10, 12 à 20 , 22 à 30....([color=blue]il y'a "trente
paquets") [/color]sont sélectionnés

(ce qui laisse les lignes 1 , 11, 21....([color=blue]il y'a trente lignes)
[/color]en blanc (pas en surbrillance)



3) ma sélection est supprimer



4) les lignes 1, 11 , 21......... n'étant pas précédemment sélectionnées,
après la suppression, remonte et se transforme en lignes 1, 2 , 3....30



5)ces 30 nouvelles lignes sont sélectionnées, puis copier dans la feuille
2,puis enfin supprimer de la feuille 1







tout me va très bien jusqu'ici, mais je me heurte à un problème, et ma macro
n'est pas totalement automatisé:



-une fois ma macro lancer, je me retrouve donc à la fin dans la feuille 2,
avec mes lignes 1 a 30 sélectionnées, je dois alors cliquer sur la casse A31
puis appuyer sur échap avant de relancer ma macro, sous peine de voir mes 30
lignes disparaître et être remplacé par de nouvelles



le but est donc de faire tourner la macro en boucle jusqu'a ce qu'il n'y ai
plus d'entreprise dans la feuille1 mais que chaque sélection de 30
entreprises se colle l'une à la suite de l'autre dans feuille 2



Je ne sais pas comment faire pour "Looper" ma macro, qu'elle détecte les
champs vides, et qu'elle colle mes sélections avec une incrémentation de
A31, A61, A91 etc......



Voici ma macro:



Sub Macro1 ()

Range("2:10,12:20,22:30,32:40 (......)
282:290,292:300").Select

Selection.Delete Shift:=xlup

Rows("1:30").Select

Selection.copy

Sheets("feuil2").select

Activesheet.Paste

Sheets("Feuil1").select

Selection.Delete Shift:=xlUp

Range("A1").select

Sheets("Feuil2").select

Selection.copy

End Sub





Merci de vos réponse, elles me feront gagner un temps précieux, et en plus
cette expérience m'a permis de m'intéresser à VBA, et je suis bien motivé
pour progresser parmi vous.
Avatar
Kamel
Si j'ai bien compris ton but est d'extraire toutes les lignes 1, 11, 21, 31
....., 33401 de la feuille 1 vers la feuille 2.
Je pense donc qu'il serait plus judicieux dans ton algorithme de copier ces
lignes et de les coller dans la feuille 2, ce qui serait plus rapide...

Sub copy()
Dim rangeToCopy As String
Dim i As Long
rangeToCopy = "1:1"
For i = 11 To 33401 Step 10
rangeToCopy = rangeToCopy & "," & i & ":" & i
Next i
Sheets(1).Select
Range(rangeToCopy).copy
Sheets(2).Select
Range("A1").Select
ActiveSheet.Paste
End Sub

"Hervé Frank-Dangel" wrote in message
news:%
Bonjour à tous,



Voila, je suis actuellement en stage dans une entreprise, et pour des
besoins professionnel, j'ai du constituer une base de donnée de fichier
client de 33 405 entreprises avec dans chaque colonne : nom, adresse, tel,
fax ......



Mon but est d'extraire 10% de cette base de donnée



pour ce faire, j'ai déjà commencé a tapé ma macro,



elle fonctionne ainsi:



1) je suis dans ma feuille 1, avec les 33 405 entreprises



2) les lignes 2 à 10, 12 à 20 , 22 à 30....([color=blue]il y'a "trente
paquets") [/color]sont sélectionnés

(ce qui laisse les lignes 1 , 11, 21....([color=blue]il y'a trente lignes)
[/color]en blanc (pas en surbrillance)



3) ma sélection est supprimer



4) les lignes 1, 11 , 21......... n'étant pas précédemment sélectionnées,
après la suppression, remonte et se transforme en lignes 1, 2 , 3....30



5)ces 30 nouvelles lignes sont sélectionnées, puis copier dans la feuille
2,puis enfin supprimer de la feuille 1







tout me va très bien jusqu'ici, mais je me heurte à un problème, et ma
macro

n'est pas totalement automatisé:



-une fois ma macro lancer, je me retrouve donc à la fin dans la feuille 2,
avec mes lignes 1 a 30 sélectionnées, je dois alors cliquer sur la casse
A31

puis appuyer sur échap avant de relancer ma macro, sous peine de voir mes
30

lignes disparaître et être remplacé par de nouvelles



le but est donc de faire tourner la macro en boucle jusqu'a ce qu'il n'y
ai

plus d'entreprise dans la feuille1 mais que chaque sélection de 30
entreprises se colle l'une à la suite de l'autre dans feuille 2



Je ne sais pas comment faire pour "Looper" ma macro, qu'elle détecte les
champs vides, et qu'elle colle mes sélections avec une incrémentation de
A31, A61, A91 etc......



Voici ma macro:



Sub Macro1 ()

Range("2:10,12:20,22:30,32:40 (......)
282:290,292:300").Select

Selection.Delete Shift:=xlup

Rows("1:30").Select

Selection.copy

Sheets("feuil2").select

Activesheet.Paste

Sheets("Feuil1").select

Selection.Delete Shift:=xlUp

Range("A1").select

Sheets("Feuil2").select

Selection.copy

End Sub





Merci de vos réponse, elles me feront gagner un temps précieux, et en plus
cette expérience m'a permis de m'intéresser à VBA, et je suis bien motivé
pour progresser parmi vous.




Avatar
michdenis
Bonjour Hervé, Kamel,


si le but est d'extraire une données tous les 10 lignes tel que la ligne 1, 11 , 21 ....etc. tu peux utiliser le filtre
élaboré. et si c'est seulement pour une fois, il n'y pas besoin de macro.

Dans ta feuille de résultat où tu veux afficher les données, tu appelles la commande barre des menus / données / filtre
/ filtre élaboré

tu remplis les cases en saisissant à l'aide de la souris la feuille où est ta base de données et ton critère pour ton
filtre et tu coches l'option dans cette fenêtre copier données autre feuille et tu indiques la cellule de ta feuille de
résultat où tu veux obtenir tes données.

Tu ne dois pas oublier que pour un filtre élaboré tu as besoin d'un étiquette de colonne :

Pour ton filtre utilise ceci :

en F1 = cellule doit demeurer totalement vide
en f2 = =OU(LIGNE(A2)=2;MOD(LIGNE(A2)-1;10)=0)

Observe ceci : cette section permet de récupérer la première ligne désirée : OU(LIGNE(A2)=2
tu adaptes le 2 pour le 1 selon tes besoins ....

Et dans la boîte de dialogue du filtre élaboré , la zone de critère sera F1:F2


Salutations!




"Kamel" a écrit dans le message de news:
Si j'ai bien compris ton but est d'extraire toutes les lignes 1, 11, 21, 31
....., 33401 de la feuille 1 vers la feuille 2.
Je pense donc qu'il serait plus judicieux dans ton algorithme de copier ces
lignes et de les coller dans la feuille 2, ce qui serait plus rapide...

Sub copy()
Dim rangeToCopy As String
Dim i As Long
rangeToCopy = "1:1"
For i = 11 To 33401 Step 10
rangeToCopy = rangeToCopy & "," & i & ":" & i
Next i
Sheets(1).Select
Range(rangeToCopy).copy
Sheets(2).Select
Range("A1").Select
ActiveSheet.Paste
End Sub

"Hervé Frank-Dangel" wrote in message
news:%
Bonjour à tous,



Voila, je suis actuellement en stage dans une entreprise, et pour des
besoins professionnel, j'ai du constituer une base de donnée de fichier
client de 33 405 entreprises avec dans chaque colonne : nom, adresse, tel,
fax ......



Mon but est d'extraire 10% de cette base de donnée



pour ce faire, j'ai déjà commencé a tapé ma macro,



elle fonctionne ainsi:



1) je suis dans ma feuille 1, avec les 33 405 entreprises



2) les lignes 2 à 10, 12 à 20 , 22 à 30....([color=blue]il y'a "trente
paquets") [/color]sont sélectionnés

(ce qui laisse les lignes 1 , 11, 21....([color=blue]il y'a trente lignes)
[/color]en blanc (pas en surbrillance)



3) ma sélection est supprimer



4) les lignes 1, 11 , 21......... n'étant pas précédemment sélectionnées,
après la suppression, remonte et se transforme en lignes 1, 2 , 3....30



5)ces 30 nouvelles lignes sont sélectionnées, puis copier dans la feuille
2,puis enfin supprimer de la feuille 1







tout me va très bien jusqu'ici, mais je me heurte à un problème, et ma
macro

n'est pas totalement automatisé:



-une fois ma macro lancer, je me retrouve donc à la fin dans la feuille 2,
avec mes lignes 1 a 30 sélectionnées, je dois alors cliquer sur la casse
A31

puis appuyer sur échap avant de relancer ma macro, sous peine de voir mes
30

lignes disparaître et être remplacé par de nouvelles



le but est donc de faire tourner la macro en boucle jusqu'a ce qu'il n'y
ai

plus d'entreprise dans la feuille1 mais que chaque sélection de 30
entreprises se colle l'une à la suite de l'autre dans feuille 2



Je ne sais pas comment faire pour "Looper" ma macro, qu'elle détecte les
champs vides, et qu'elle colle mes sélections avec une incrémentation de
A31, A61, A91 etc......



Voici ma macro:



Sub Macro1 ()

Range("2:10,12:20,22:30,32:40 (......)
282:290,292:300").Select

Selection.Delete Shift:=xlup

Rows("1:30").Select

Selection.copy

Sheets("feuil2").select

Activesheet.Paste

Sheets("Feuil1").select

Selection.Delete Shift:=xlUp

Range("A1").select

Sheets("Feuil2").select

Selection.copy

End Sub





Merci de vos réponse, elles me feront gagner un temps précieux, et en plus
cette expérience m'a permis de m'intéresser à VBA, et je suis bien motivé
pour progresser parmi vous.




Avatar
Hervé Frank-Dangel
Ton Algorithme est parfait, c'est exactement ce que je veux !!!!

mais il reste un prob....

la macro ne gere pas les selection superieur a 30,31 ou 32 lignes, je sais
plus, donc en rentrant For i = 11 To 33401 Step 10, ça passe pas, mais avec
For i = 11 To 300 Step 10, là c'est bon....

Dans mon cas, il me faut absolument les 10 % de ma base de donné, comment
puis je "passer par dessus" cette limite, sachant que si je complete le code
pour qu'il s'execute en boucle, il faut definir une incrementation de la
selection dans la premiere feuille, puis une icrementation des case a coller
dans la seconde pour pas que mes 30 lignes precedentes soit ecraser....

je te transmet un autre mel que j'ai déjà envoyer sur un autre forum et qui
va peut etre t'eclairer... ;-)

----------------------------------------------------------------------------
-----------------------------------------------------------

Je cherche un code permettant de copier une sélection de ligne depuis la
feuille 1 pour la coller dans la feuille 2



sachant que ma sélection se fait par groupe de 30 lignes, comment faire pour
que une fois ma macro envoyé, la deuxième boucle n'écrase pas la précédente
?



Je m'explique :



A la première boucle, tout fonctionne très bien, mes 30 lignes sont copier
dans la feuille 2, de A1 à A30, c'est ce que je veux.



Le problème se pose à la deuxième boucle de la macro, car dans le collage de
la feuille2 précédant, mes 30 lignes reste en sur brillance, et donc se font
écraser..



Ce que je voudrais, c'est pouvoir faire une incrémentation du collage à
chaque boucle.



première boucle : mes 30 lignes collé dans la feuille2 de A1 à A30

deuxième boucle : mes 30 lignes suivantes de la feuille 1 collé dans la
feuille 2 de A31 à A60

troisième boucle : mes 30 lignes suivantes de la feuille 1 collé dans la
feuille 2 de A61 à A90

et ainsi de suite...



et si possible, que ma macro s'arrête de tourner lorsqu'elle arrive à un ou
deux champ vide dans ma feuille 1 (par exemple si A33 406 et B33 406 sont
vide, la macro finis sa boucle, mais ne recommence pas.

----------------------------------------------------------------------------
-------------------------------------------



Merci d'avance, t'es super cool !!!!!!





"Kamel" a écrit dans le message de
news:
Si j'ai bien compris ton but est d'extraire toutes les lignes 1, 11, 21,
31

....., 33401 de la feuille 1 vers la feuille 2.
Je pense donc qu'il serait plus judicieux dans ton algorithme de copier
ces

lignes et de les coller dans la feuille 2, ce qui serait plus rapide...

Sub copy()
Dim rangeToCopy As String
Dim i As Long
rangeToCopy = "1:1"
For i = 11 To 33401 Step 10
rangeToCopy = rangeToCopy & "," & i & ":" & i
Next i
Sheets(1).Select
Range(rangeToCopy).copy
Sheets(2).Select
Range("A1").Select
ActiveSheet.Paste
End Sub

"Hervé Frank-Dangel" wrote in message
news:%
Bonjour à tous,



Voila, je suis actuellement en stage dans une entreprise, et pour des
besoins professionnel, j'ai du constituer une base de donnée de fichier
client de 33 405 entreprises avec dans chaque colonne : nom, adresse,
tel,


fax ......



Mon but est d'extraire 10% de cette base de donnée



pour ce faire, j'ai déjà commencé a tapé ma macro,



elle fonctionne ainsi:



1) je suis dans ma feuille 1, avec les 33 405 entreprises



2) les lignes 2 à 10, 12 à 20 , 22 à 30....([color=blue]il y'a "trente
paquets") [/color]sont sélectionnés

(ce qui laisse les lignes 1 , 11, 21....([color=blue]il y'a trente
lignes)


[/color]en blanc (pas en surbrillance)



3) ma sélection est supprimer



4) les lignes 1, 11 , 21......... n'étant pas précédemment
sélectionnées,


après la suppression, remonte et se transforme en lignes 1, 2 , 3....30



5)ces 30 nouvelles lignes sont sélectionnées, puis copier dans la
feuille


2,puis enfin supprimer de la feuille 1







tout me va très bien jusqu'ici, mais je me heurte à un problème, et ma
macro

n'est pas totalement automatisé:



-une fois ma macro lancer, je me retrouve donc à la fin dans la feuille
2,


avec mes lignes 1 a 30 sélectionnées, je dois alors cliquer sur la casse
A31

puis appuyer sur échap avant de relancer ma macro, sous peine de voir
mes


30
lignes disparaître et être remplacé par de nouvelles



le but est donc de faire tourner la macro en boucle jusqu'a ce qu'il n'y
ai

plus d'entreprise dans la feuille1 mais que chaque sélection de 30
entreprises se colle l'une à la suite de l'autre dans feuille 2



Je ne sais pas comment faire pour "Looper" ma macro, qu'elle détecte les
champs vides, et qu'elle colle mes sélections avec une incrémentation de
A31, A61, A91 etc......



Voici ma macro:



Sub Macro1 ()

Range("2:10,12:20,22:30,32:40 (......)
282:290,292:300").Select

Selection.Delete Shift:=xlup

Rows("1:30").Select

Selection.copy

Sheets("feuil2").select

Activesheet.Paste

Sheets("Feuil1").select

Selection.Delete Shift:=xlUp

Range("A1").select

Sheets("Feuil2").select

Selection.copy

End Sub





Merci de vos réponse, elles me feront gagner un temps précieux, et en
plus


cette expérience m'a permis de m'intéresser à VBA, et je suis bien
motivé


pour progresser parmi vous.








Avatar
Hervé Frank-Dangel
Ton Algorithme est parfait, c'est exactement ce que je veux !!!!

mais il reste un prob....

la macro ne gere pas les selection superieur a 30,31 ou 32 lignes, je sais
plus, donc en rentrant For i = 11 To 33401 Step 10, ça passe pas, mais avec
For i = 11 To 300 Step 10, là c'est bon....

Dans mon cas, il me faut absolument les 10 % de ma base de donné, comment
puis je "passer par dessus" cette limite, sachant que si je complete le code
pour qu'il s'execute en boucle, il faut definir une incrementation de la
selection dans la premiere feuille, puis une icrementation des case a coller
dans la seconde pour pas que mes 30 lignes precedentes soit ecraser....

je te transmet un autre mel que j'ai déjà envoyer sur un autre forum et qui
va peut etre t'eclairer... ;-)

----------------------------------------------------------------------------
-----------------------------------------------------------

Je cherche un code permettant de copier une sélection de ligne depuis la
feuille 1 pour la coller dans la feuille 2



sachant que ma sélection se fait par groupe de 30 lignes, comment faire pour
que une fois ma macro envoyé, la deuxième boucle n'écrase pas la précédente
?



Je m'explique :



A la première boucle, tout fonctionne très bien, mes 30 lignes sont copier
dans la feuille 2, de A1 à A30, c'est ce que je veux.



Le problème se pose à la deuxième boucle de la macro, car dans le collage de
la feuille2 précédant, mes 30 lignes reste en sur brillance, et donc se font
écraser..



Ce que je voudrais, c'est pouvoir faire une incrémentation du collage à
chaque boucle.



première boucle : mes 30 lignes collé dans la feuille2 de A1 à A30

deuxième boucle : mes 30 lignes suivantes de la feuille 1 collé dans la
feuille 2 de A31 à A60

troisième boucle : mes 30 lignes suivantes de la feuille 1 collé dans la
feuille 2 de A61 à A90

et ainsi de suite...



et si possible, que ma macro s'arrête de tourner lorsqu'elle arrive à un ou
deux champ vide dans ma feuille 1 (par exemple si A33 406 et B33 406 sont
vide, la macro finis sa boucle, mais ne recommence pas.

----------------------------------------------------------------------------
-------------------------------------------



Merci d'avance, t'es super cool !!!!!!





"Kamel" a écrit dans le message de
news:
Si j'ai bien compris ton but est d'extraire toutes les lignes 1, 11, 21,
31

....., 33401 de la feuille 1 vers la feuille 2.
Je pense donc qu'il serait plus judicieux dans ton algorithme de copier
ces

lignes et de les coller dans la feuille 2, ce qui serait plus rapide...

Sub copy()
Dim rangeToCopy As String
Dim i As Long
rangeToCopy = "1:1"
For i = 11 To 33401 Step 10
rangeToCopy = rangeToCopy & "," & i & ":" & i
Next i
Sheets(1).Select
Range(rangeToCopy).copy
Sheets(2).Select
Range("A1").Select
ActiveSheet.Paste
End Sub

"Hervé Frank-Dangel" wrote in message
news:%
Bonjour à tous,



Voila, je suis actuellement en stage dans une entreprise, et pour des
besoins professionnel, j'ai du constituer une base de donnée de fichier
client de 33 405 entreprises avec dans chaque colonne : nom, adresse,
tel,


fax ......



Mon but est d'extraire 10% de cette base de donnée



pour ce faire, j'ai déjà commencé a tapé ma macro,



elle fonctionne ainsi:



1) je suis dans ma feuille 1, avec les 33 405 entreprises



2) les lignes 2 à 10, 12 à 20 , 22 à 30....([color=blue]il y'a "trente
paquets") [/color]sont sélectionnés

(ce qui laisse les lignes 1 , 11, 21....([color=blue]il y'a trente
lignes)


[/color]en blanc (pas en surbrillance)



3) ma sélection est supprimer



4) les lignes 1, 11 , 21......... n'étant pas précédemment
sélectionnées,


après la suppression, remonte et se transforme en lignes 1, 2 , 3....30



5)ces 30 nouvelles lignes sont sélectionnées, puis copier dans la
feuille


2,puis enfin supprimer de la feuille 1







tout me va très bien jusqu'ici, mais je me heurte à un problème, et ma
macro

n'est pas totalement automatisé:



-une fois ma macro lancer, je me retrouve donc à la fin dans la feuille
2,


avec mes lignes 1 a 30 sélectionnées, je dois alors cliquer sur la casse
A31

puis appuyer sur échap avant de relancer ma macro, sous peine de voir
mes


30
lignes disparaître et être remplacé par de nouvelles



le but est donc de faire tourner la macro en boucle jusqu'a ce qu'il n'y
ai

plus d'entreprise dans la feuille1 mais que chaque sélection de 30
entreprises se colle l'une à la suite de l'autre dans feuille 2



Je ne sais pas comment faire pour "Looper" ma macro, qu'elle détecte les
champs vides, et qu'elle colle mes sélections avec une incrémentation de
A31, A61, A91 etc......



Voici ma macro:



Sub Macro1 ()

Range("2:10,12:20,22:30,32:40 (......)
282:290,292:300").Select

Selection.Delete Shift:=xlup

Rows("1:30").Select

Selection.copy

Sheets("feuil2").select

Activesheet.Paste

Sheets("Feuil1").select

Selection.Delete Shift:=xlUp

Range("A1").select

Sheets("Feuil2").select

Selection.copy

End Sub





Merci de vos réponse, elles me feront gagner un temps précieux, et en
plus


cette expérience m'a permis de m'intéresser à VBA, et je suis bien
motivé


pour progresser parmi vous.