Selection
Fermé
DAMMON
Messages postés
25
Date d'inscription
vendredi 8 avril 2016
Statut
Membre
Dernière intervention
20 janvier 2017
-
24 juin 2016 à 13:54
DAMMON Messages postés 25 Date d'inscription vendredi 8 avril 2016 Statut Membre Dernière intervention 20 janvier 2017 - 28 juin 2016 à 12:13
DAMMON Messages postés 25 Date d'inscription vendredi 8 avril 2016 Statut Membre Dernière intervention 20 janvier 2017 - 28 juin 2016 à 12:13
Bonjour,
Merci d'avance pour votre temps que vous sacrifiez à aider tout le monde.
Je voudrais que vous m'aidez à trouver de solution au problème suivant: je fais une programmation en VBA EXCEL et je voudrais créer un bouton (valider) et deux combobox; le classeur contenant déjà des données avec des dates sur certaines lignes précise. Dans le premier combobox, il y a des mois à sélectionner; et dans le deuxième, il y a des années à sélectionner. Je voudrais que lorsque je sélectionne une date et une année, et que je clique sur le bouton "valider" que la sélection soit faite à partir de ce mois et cette date jusqu'à la dernière ligne non vide de mon classeur.
Aidez moi s'il vous plait.
Merci d'avance
Merci d'avance pour votre temps que vous sacrifiez à aider tout le monde.
Je voudrais que vous m'aidez à trouver de solution au problème suivant: je fais une programmation en VBA EXCEL et je voudrais créer un bouton (valider) et deux combobox; le classeur contenant déjà des données avec des dates sur certaines lignes précise. Dans le premier combobox, il y a des mois à sélectionner; et dans le deuxième, il y a des années à sélectionner. Je voudrais que lorsque je sélectionne une date et une année, et que je clique sur le bouton "valider" que la sélection soit faite à partir de ce mois et cette date jusqu'à la dernière ligne non vide de mon classeur.
Aidez moi s'il vous plait.
Merci d'avance
A voir également:
- Selection
- L'indice n'appartient pas à la sélection vba ✓ - Forum Excel
- Vous ne pouvez pas apporter cette modification car la sélection est verrouillée ✓ - Forum Word
- Selection texte pdf - Guide
- Excel rechercher et remplacer dans une selection ✓ - Forum Excel
- Exporter selection photoshop ✓ - Forum Graphisme
3 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
26 juin 2016 à 12:07
26 juin 2016 à 12:07
Bonjour Dammon, bonjour le forum,
Manque de précision dans tes explications :
• Dans quel onglet se trouvent les données ?
• Dans quelle cellule commence le tableau des données ?
• Dans quelle colonne se trouve les dates ?
• Tu veux sélectionner quoi :
- Toutes les cellules ?
- Toutes les lignes du tableau ?
- Toutes les lignes de l'onglet ?
... correspondant au critère
Manque de précision dans tes explications :
• Dans quel onglet se trouvent les données ?
• Dans quelle cellule commence le tableau des données ?
• Dans quelle colonne se trouve les dates ?
• Tu veux sélectionner quoi :
- Toutes les cellules ?
- Toutes les lignes du tableau ?
- Toutes les lignes de l'onglet ?
... correspondant au critère
DAMMON
Messages postés
25
Date d'inscription
vendredi 8 avril 2016
Statut
Membre
Dernière intervention
20 janvier 2017
26 juin 2016 à 22:31
26 juin 2016 à 22:31
--Merci pour la reponse
en fait j'ai un userform qui me permet d'envoyer les données sur la feuille de calcule. chaque donnée occupe environ 10 lignes et il y a plusieurs bloc de donnée comme cela. Après chaque 10 ligne de donnée, une ligne est sauté pour faire la difference entre chaque bloc. En début de ligne pour un bloc, il y a la cellule A x (x étant une cellule quelconque selon que les données se suivent) et dans cette cellule, je mets le mois (exemple Janvier...) puis la cellule Ax suivante je met l'année ( expemple 2016 .... ) ensuite les données; et je saute une autre ligne encore avant de reprendre presque les meme choses mais avec le mois et l'année qui diffèrent.
Ce que je veux maintenant, c'est que j'ai créer deux combobox; le premier pour sélectionner le mois et le second pour sélectionner l'année, puis un bouton "Valider" qui va me permettre de copier toute les données d'un bloc jusqu'à la dernière ligne non vide des données, (sachant qu'une ligne est toujours sauté après chaque bloc) si le mois et l'année correspondent au mois et l'année des cellule Ax comme j'essayais de l'expliquer plus haut.
Je pense être un peu claire si non, donnez moi un idée sur ce vous avez compris.
Merci d'avance à vous
"La prunelle des yeux de l'Eternel"
en fait j'ai un userform qui me permet d'envoyer les données sur la feuille de calcule. chaque donnée occupe environ 10 lignes et il y a plusieurs bloc de donnée comme cela. Après chaque 10 ligne de donnée, une ligne est sauté pour faire la difference entre chaque bloc. En début de ligne pour un bloc, il y a la cellule A x (x étant une cellule quelconque selon que les données se suivent) et dans cette cellule, je mets le mois (exemple Janvier...) puis la cellule Ax suivante je met l'année ( expemple 2016 .... ) ensuite les données; et je saute une autre ligne encore avant de reprendre presque les meme choses mais avec le mois et l'année qui diffèrent.
Ce que je veux maintenant, c'est que j'ai créer deux combobox; le premier pour sélectionner le mois et le second pour sélectionner l'année, puis un bouton "Valider" qui va me permettre de copier toute les données d'un bloc jusqu'à la dernière ligne non vide des données, (sachant qu'une ligne est toujours sauté après chaque bloc) si le mois et l'année correspondent au mois et l'année des cellule Ax comme j'essayais de l'expliquer plus haut.
Je pense être un peu claire si non, donnez moi un idée sur ce vous avez compris.
Merci d'avance à vous
"La prunelle des yeux de l'Eternel"
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
27 juin 2016 à 09:47
27 juin 2016 à 09:47
Bonjour Dammon, bonjour le forum,
Il est dommage qu'en tant que demandeur tu ne fasses pas l'effort d'envoyer un petit fichier exemple. Ça nous oblige à nous de le faire pour vous... C'est pour cela que certains posts restent sans réponse car faire votre travail est parfois pénible. Je te le dis pour un prochain problème, n'hésite pas à joindre un petit fichier...
Le contexte :
- Une UserForm (UserForm1)
- Deux Comboboxes (ComboBox1 pour les mois, ComboBox2 pour les années)
- Deux CommandButtons (CommandButton1 = Valider, CommandButton2 = Annuler)
- Deux Onglets : un onglet Données (contenant les données), un onglet Listes contenant les mois (colonne A) et les années (colonne B)
Tu adapteras à ton cas...
Le Code :
Onglet Données avtivé, clique sur le bouton Sélection par date, choisis parmi une des trois dates (Janvier 2000 / Février 2000 / Janvier 2001)
Le fichier :
https://www.cjoint.com/c/FFBhS2gKnzI
Il est dommage qu'en tant que demandeur tu ne fasses pas l'effort d'envoyer un petit fichier exemple. Ça nous oblige à nous de le faire pour vous... C'est pour cela que certains posts restent sans réponse car faire votre travail est parfois pénible. Je te le dis pour un prochain problème, n'hésite pas à joindre un petit fichier...
Le contexte :
- Une UserForm (UserForm1)
- Deux Comboboxes (ComboBox1 pour les mois, ComboBox2 pour les années)
- Deux CommandButtons (CommandButton1 = Valider, CommandButton2 = Annuler)
- Deux Onglets : un onglet Données (contenant les données), un onglet Listes contenant les mois (colonne A) et les années (colonne B)
Tu adapteras à ton cas...
Le Code :
Private Sub UserForm_Initialize() 'à l'initialisation de l'Userform With Worksheets("Listes") 'prend en compte l'onglet "Listes" Me.ComboBox1.List = .Range("A2:A13").Value 'alimente la ComboBox1 Me.ComboBox2.List = .Range("B2:B" & .Range("B" & Application.Rows.Count).End(xlUp).Row).Value 'alimente la ComboBox2 End With 'fin de la prise en compte de l'onlet "Listes" End Sub Private Sub CommandButton1_Click() 'bouton "Valider" Dim R As Range 'déclare la variable R (Recherche) Dim PA As String 'déclare la variable PA (Première Adresse) Dim PL As Range 'déclare la variable PL (PLage) With Sheets("Données") 'prend en compte l'onglet "Données" Set R = .Columns(1).Find(Me.ComboBox1.Value, , xlValues, xlWhole) 'définit la recherche R (Recherche la valeur entière de la ComboBox1 dans la colonne 1 (=A) de l'onglet If Not R Is Nothing Then 'condition : si il existe au moins une occurrence PA = R.Address 'définit l'adresse PA de la première occurrence trouvée Do 'exécute If CStr(R.Offset(0, 1).Value) = Me.ComboBox2.Value Then 'si la valeur de la cellule en colonne B de l'occurrence trouvée (convertie en texte) est égale à la valeur de la ComboBox2 Set PL = R.CurrentRegion 'définit la plage PL Set PL = PL.Offset(1, 0).Resize(PL.Rows.Count - 1, PL.Columns.Count) 'redéfinit la plage PL (sans la première ligne avec la date) PL.Select 'sélectionne la plage PL End If 'fin de la condition Set R = .Columns(1).FindNext(R) 'redéfinit la recherche R (occurrence suivante) Loop While Not R Is Nothing And R.Address <> PA 'boucle tant qu'il existe de nouvelles occurrences ailleurs qu'en PA End If 'fin de la condition End With 'fin de la prise en compte de l'onlet "Données" Unload Me 'vide et ferme l'UserForm End Sub Private Sub CommandButton2_Click() 'bouton "Annuler" Unload Me 'vide et ferme l'UserForm End Sub
Onglet Données avtivé, clique sur le bouton Sélection par date, choisis parmi une des trois dates (Janvier 2000 / Février 2000 / Janvier 2001)
Le fichier :
https://www.cjoint.com/c/FFBhS2gKnzI
DAMMON
Messages postés
25
Date d'inscription
vendredi 8 avril 2016
Statut
Membre
Dernière intervention
20 janvier 2017
28 juin 2016 à 12:13
28 juin 2016 à 12:13
Merci bien pour la réponse et aussi pour le conseil. J'aurais pu le faire, mais du fait que je soit novice et ne sachant pas que c'était indispensable, je ne l'ai pas fait.
J'en tiendrai compte les fois prochaines sans soucis.
Merci encore pour la réponse; je fais l'essayer et te faire signe
A plus
J'en tiendrai compte les fois prochaines sans soucis.
Merci encore pour la réponse; je fais l'essayer et te faire signe
A plus
26 juin 2016 à 22:32
en fait j'ai un userform qui me permet d'envoyer les données sur la feuille de calcule. chaque donnée occupe environ 10 lignes et il y a plusieurs bloc de donnée comme cela. Après chaque 10 ligne de donnée, une ligne est sauté pour faire la difference entre chaque bloc. En début de ligne pour un bloc, il y a la cellule A x (x étant une cellule quelconque selon que les données se suivent) et dans cette cellule, je mets le mois (exemple Janvier...) puis la cellule Ax suivante je met l'année ( expemple 2016 .... ) ensuite les données; et je saute une autre ligne encore avant de reprendre presque les meme choses mais avec le mois et l'année qui diffèrent.
Ce que je veux maintenant, c'est que j'ai créer deux combobox; le premier pour sélectionner le mois et le second pour sélectionner l'année, puis un bouton "Valider" qui va me permettre de copier toute les données d'un bloc jusqu'à la dernière ligne non vide des données, (sachant qu'une ligne est toujours sauté après chaque bloc) si le mois et l'année correspondent au mois et l'année des cellule Ax comme j'essayais de l'expliquer plus haut.
Je pense être un peu claire si non, donnez moi un idée sur ce vous avez compris.
Merci d'avance à vous