[Macro] Sélectionner une plage variable

Brozad

XLDnaute Nouveau
Bonjour,

J'ai un petit problème, je dois traiter des données avec des tableaux croisés dynamiques de façon automatisé, le problème est que la plage de données varie et que j'ai besoin de faire un regroupement par date.

La fonction grouper ne fonctionne pas si des cellules vides sont dans les données sources... Il me faudrait donc inclure dans ma macro du code afin de vérifier où se termine les données puis qui sélectionne juste la place nécessaire.

En gros ma plage peut varier de A1:O2 à A1:O1000 donc c'est quand même assez important comme écart...

Ca m'aiderait vraiment si quelqu'un pouvait me renseigner, merci d'avance!
 

JCGL

XLDnaute Barbatruc
Re : [Macro] Sélectionner une plage variable

Bonjour à tous,

Je pense qu'il suffit de créer ta" Base_TCD" par Insertion / Nom / Définir

Mais un fichier joint permettrait une tentative de résolution...

A+ à tous
 

Brozad

XLDnaute Nouveau
Re : [Macro] Sélectionner une plage variable

Bonjour,

Merci pour vos réponses mais je n'arrive pas à m'en sortir...

Je suis également tombé sur ça : [VBA-E] Dernière ligne et dernière colonne renseignées d'une feuille de calculs - Forum des professionnels en informatique

Tout y est mais je n'arrive pas à l'intégrer dans mon code, je sais :eek:

Code:
Sub filtre()
    
    Sheets("Liste").Select
    DerniereLigne = ActiveSheet.UsedRange.Rows.Count
    
    Sheets("DATA").Range("A:C").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("Liste").Range(B1 & ":" & DerniereLigne), CopyToRange:=Range("D1"), Unique:=False
        
End Sub

Ma plage de donnée est sur la feuille DATA de A à C

Ma plage de critère sur la feuille Liste en colonne B

Cellule de destination sur la feuille Liste en D1.

Je mets un fichier "type" en pièce jointe si ça peut vous aider...

Je sens que c'est quelque chose de tout bête mais je n'y arrive pas. Merci de votre aide!
 

Pièces jointes

  • test_derniere_ligne.xls
    24 KB · Affichages: 139

Brozad

XLDnaute Nouveau
Re : [Macro] Sélectionner une plage variable

Je vous donne le code, j'ai réussi à m'en sortir :

Code:
Sub filtre_row_multi()

'Filtre sur la zone de critère renseignée avec plusieurs feuilles

    DerniereLigne = Sheets("Feuil1").UsedRange.Rows.Count
    Sheets("DATA").Range("A:C").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("Feuil1").Range("B1:" & "B" & DerniereLigne), CopyToRange:=Sheets("Feuil1").Range("C1"), Unique:=False
    
    
    DerniereLigne = Sheets("Feuil3").UsedRange.Rows.Count
    Sheets("DATA").Range("A:C").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("Feuil3").Range("B1:" & "B" & DerniereLigne), CopyToRange:=Sheets("Feuil3").Range("C1"), Unique:=False

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 098
Membres
103 116
dernier inscrit
kutobi87