selction de toutes les lignes d'un tableau

  • Initiateur de la discussion Initiateur de la discussion zoulou08
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

zoulou08

XLDnaute Nouveau
Bonjour

je dois exploiter des lignes avec des dates
- je voudrais d'abord selctionner ttes les lignes, comment faire

- puis copier coller dans feuille, ca pas dur

- faire un filtre élaboré pour garder certaines dates, la j ai un probleme car je prends un exemple
j exploite le fichier pour avril
donc je garde ttes les date jusque avril 2005 (1er prob, la date 30-04-2005 n'existe pas forcement)

je garde aussi les dates superieures à 6 mois, entre 3 et 6 mois et celle inférieures à 1 mois.

ca me donne 3 fichiers et 3 tdc (pas de prob pour le tdc=

donc mon prob, c est :
-comment trouver ttes les lignes initiales
-comment ne pas se tromper avec le choix des dates (userform qui demande à l'utilisateur le mois à exploiter), je voudrais que tout soit automatique (si c'est le mois d'avril alors....)

merci
 
Bonsoir zoulou08

je voudrais d'abord selctionner ttes les lignes

Peut-être que si tu sélectionne tout ton tableau, puis tu fais Insertion, Nom, Définir et que tu nomme ta plage de cellule qui apparaît, ca devrait résoudre ton prob
Bonne soirée
 
je sais pas car je voudrais que tout se fasse automatiquement

j'ai un peu évolué dans l'avancement de mon fichier mais la, je bloque sur un tdc

car vu que les lignes de mon tableau (apres filtre auto suivant date) sont variables, comment le tdc ou mon vba peut il gerer le nombre de lignes


je te joins une partie du code
le tableau a environ 2500 lignes (variable) et L colonnes
le but est de faire des filtres suivant des dates et des tdc
an debut, un usf demande le mois et l'année



Option Explicit 'oblige à déclarer toutes les variables

Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
'Ajoute les mois dans la combobox1
mois.AddItem 'janvier'
mois.AddItem 'février'
mois.AddItem 'mars'
mois.AddItem 'avril'
mois.AddItem 'mai'
mois.AddItem 'juin'
mois.AddItem 'juillet'
mois.AddItem 'août'
mois.AddItem 'septembre'
mois.AddItem 'octobre'
mois.AddItem 'novembre'
mois.AddItem 'décembre'
mois.ListIndex = 0 'affiche 'janvier'
annee.Value = '2005'
End Sub

Private Sub CommandButton1_Click() 'bouton 'Ok'
Dim an As String
Dim mo As String
Dim DateRef As Date

an = Me.annee.Value 'il faut appeler le formulaire Me
mo = Me.mois.ListIndex + 1

DateRef = Format((mo + 1), 0) & '/01' & '/' & an

MsgBox annee.Value & ' & ' & mois.Value 'il ne faut pas mettre de =
'Range('A1').Select = mo
Unload Me 'vide et ferme l'UserForm1

Sheets('données').Select 'applique le filtre auto sur la ligne 1 de 'données'
Rows('1:1').Select
Selection.AutoFilter
Selection.AutoFilter Field:=2, Criteria1:='<' & DateRef, Operator:=xlAnd
Range(Cells(1, 1), Cells(4000, 12)).Select
Selection.Copy
Sheets('fin mois').Select
Cells(1, 1).Select
ActiveSheet.Paste

Range('B3').Select 'fabrication du TDC dans onglet 'TDC' à partir des données de 'fin de mois'
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
'fin mois!R1L1:R2453L12').CreatePivotTable TableDestination:= _
'[mnw2.xls]TDC!R1L1', TableName:='Tableau croisé dynamique1', _
DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTables('Tableau croisé dynamique1').AddFields RowFields:= _
Array('Depot', 'Emb')
With ActiveSheet.PivotTables('Tableau croisé dynamique1').PivotFields('Emb')
.Orientation = xlDataField
.Caption = 'Nombre de Emb'
.Function = xlCount
End With
 
Salut 'Zoulou08
bonjour le Forum
je ne pense pas avoir compri mais si tu recherches la dernière ligne d'une plage il te faut par exemple utiliser une Variable DerLgn
qui auras la Valeur de la dernièere ligne non vide
ex en colonne A tu auras
si la plage remplie est A1 A200
Derlgn=Range('A65536').end(XlUp).Row
te renverra 200
donc tu peux déterminer une plage
ex Range('A1:A'&Derlgn) ce qui correspond à Range('A1:A200')mais évolue celon la dernière ligne de La colonne A
si celà ne correspond pas à ton attente mets un petit exemple en pièce jointe(Zip moins de 50Ko sans accent ,ni caractères spéciaux)
amicalement
Jean Marie

Message édité par: ChTi160, à: 01/05/2005 11:09
 
merci beaucoup, du coup j avais retravaille dessus

et j ai reussi a bidouiller le code juste avant de lire ce message ce matin

en voyant votre code je me dis que je m y suis mal prise

je vous renvoie mon fichier

merci et desole si je vous ai fait perdre votre temps
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
1 K
Réponses
2
Affichages
2 K
Retour