Boucle VBA sur valeur et variable filtre
opanis
-
yg_be Messages postés 24281 Statut Contributeur -
yg_be Messages postés 24281 Statut Contributeur -
Bonjour,
Je débute en VBA sous excel, j'aimerais faire des boucles mais je n'y arrive pas.
1ere soucis
Dans mon fichier, j'exécute 15 fois une boucle qui récupére des données dans un onglet, mais dans certains 3 boucles sont nécessaire car il n'y a plus d'évolution.
J'aimerais un code qui met si Cellule P3 >P2 (P2 étant la valeur en chiffre de P3 au début de la boucle) , cela continu sinon cela s'arrête. J'ai essayé
Mais cela ne marche pas
2ème soucis
Mon code filtre un tableau à partir d'une colonne, j'ai le longtemps code suivant
qui a 2 inconvéhient, limite à 25 sélections et obligé d'écrire les lignes, est-il possible de définir une variable qui dit que le filtre doit se faire sur l'ensemble des valeurs de la colonne R:R sachant que je peux avoir plus de 200 valeurs à filtrer :
Merci d'avance de votre aide
Je débute en VBA sous excel, j'aimerais faire des boucles mais je n'y arrive pas.
1ere soucis
Dans mon fichier, j'exécute 15 fois une boucle qui récupére des données dans un onglet, mais dans certains 3 boucles sont nécessaire car il n'y a plus d'évolution.
J'aimerais un code qui met si Cellule P3 >P2 (P2 étant la valeur en chiffre de P3 au début de la boucle) , cela continu sinon cela s'arrête. J'ai essayé
'Dim numeroN As Integer
'Dim numero As Integer
'numero = Cells(3, 16)
'numeroN = Cells(2, 16)
'Do While numero > numeroN
Mais cela ne marche pas
2ème soucis
Mon code filtre un tableau à partir d'une colonne, j'ai le longtemps code suivant
qui a 2 inconvéhient, limite à 25 sélections et obligé d'écrire les lignes, est-il possible de définir une variable qui dit que le filtre doit se faire sur l'ensemble des valeurs de la colonne R:R sachant que je peux avoir plus de 200 valeurs à filtrer :
'
Dim table_tri
Set table_tri = Worksheets("PF").Range("R:R")
Worksheets("BDD FAB").ListObjects("TableauA8").Range.AutoFilter Field:=1, Criteria1:=Array(CStr(table_tri(1, 1)), _
CStr(table_tri(2, 1)), _
CStr(table_tri(3, 1)), _
CStr(table_tri(4, 1)), _
CStr(table_tri(5, 1)), _
CStr(table_tri(6, 1)), _
CStr(table_tri(7, 1)), _
CStr(table_tri(8, 1)), _
CStr(table_tri(9, 1)), _
CStr(table_tri(10, 1)), _
CStr(table_tri(11, 1)), _
CStr(table_tri(12, 1)), _
CStr(table_tri(13, 1)), _
CStr(table_tri(14, 1)), _
CStr(table_tri(15, 1)), _
CStr(table_tri(16, 1)), _
CStr(table_tri(17, 1)), _
CStr(table_tri(18, 1)), _
CStr(table_tri(19, 1)), _
CStr(table_tri(20, 1)), _
CStr(table_tri(21, 1)), _
CStr(table_tri(22, 1)), _
CStr(table_tri(23, 1)), _
CStr(table_tri(24, 1)), _
CStr(table_tri(25, 1))), Operator:=xlFilterValues
Sheets("BDD FAB").Select
Range("A10:G85050").Select
Selection.Copy
Merci d'avance de votre aide
A voir également:
- Filtre en boucle
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Filtre whatsapp - Accueil - Messagerie instantanée
- Filtre teams - Accueil - Visio
- Filtre manga - Accueil - TikTok
- Filtre excel ne fonctionne pas sur toutes les lignes ✓ - Forum Excel
2 réponses
bonjour,
pour ton premier soucis, tu ne montres qu'une partie de ton code, nous ne pouvons pas déterminer où est ton erreur.
pour ton premier soucis, tu ne montres qu'une partie de ton code, nous ne pouvons pas déterminer où est ton erreur.
que signifie "filtre un tableau à partir d'une colonne"?
Je pense que tu devrais plutôt utiliser ceci: https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.advancedfilter