Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion ljoue
  • 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 !

L

ljoue

Guest
Bonjour tout l'monde...

Voici ma feuille Excel

.......A.............B......
------------------------
1...Libellé....Allocation
------------------------
2...fonds1.........3%
3...fonds2.........5.6%
4...fonds3.........8.2%
5...fonds4.........4.2%
6...fonds5.........5.1%
. . .

Voici Mon UserForm
__________________________________________
UserForm1
-----------------------------------------------------------

....._________________.........._____________
....|.........................|.............|..................|
....|TextBox1............|.............|Textbox2....|
....|______________|............|____________|
___________________________________________

Comment faire pour afficher :

- Dans TextBox1 : les libellé dont l'allocation est >=5%

- Dans TextBox2 : les allocations correspondant à leur Libellé

....c'est un peu de boulot je sais....mais là je n'y arrive vraiment pas :ermm:

Merci d'avance,
Cordialement
Laurent
 
Bonjour Laurent,

Voici une petite macro qui j'espère te conviendra

A+

Jordan [file name=test_20050610161212.zip size=10831]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/test_20050610161212.zip[/file]
 

Pièces jointes

Bonjour Laurent, Jordan, le Forum

Je me suis permis de regarder un peu ton UserForm Jordan,l'ensemble est très bien, mais au niveau des Variables c'est un peu Grrr Grrr.... 😉

Voici ton module corrigé :

Bien amicalement
Bon Après Midi
@+Thierry
 
Bonjour Thierry,

Merci pour tes conseils

Je débute en VBA et il est vrai que j'ai beaucoup de lacunes, dans les déclarations de variables j'ai parfois des soucis, ou alors ça marche mais ce n'est pas le code vraiement adapté.

j'essaye d'apprendre mais il y a tellement de fonctions due c'est très long.

Pendant que j'y suis, j'en profite :

Pourrais tu m'expliquer pourquoi met-on ' Option Explicit '

Et ensuite ' Private NbLignes As Long '

C'est un peu bizarre toutes ces façons de 'DIM'

Merci
Jordan
 
Bonjour Jordan, Laurent, le Forum

Pour Jordan, et aussi pour Laurent, car ça devrait aussi l'aider à mettre en place son UserForm...

Donc Option Explicit est tout simplement là en top de module, pour obliger définitivement le à déclarer toutes les variables qui seront utilisées dans le Module en Question.

On peut mettre ce paramètre automatiquement par les Options du Menu Outils de VBE (Visual Basic Editor) dans l'Onglet 'Editeur' cocher la CheckBox 'Déclaration des Variables Obligatoire'

Ceci fait, si on ne déclare pas une Variable VBA stoppera net dessus lors de la compilation du Projet.

Pourquoi déclarer les Variables... Et bien par défaut, si on n'a pas défini cette 'Option Explicit' tout est 'Variant' pour VBA, ce qui n'est pas toujours l'idéal, surtout pour les ressources mémoires, mais aussi pour permettre au développeur de contrôller ce qui se passe dans son application. (Variant 22 Octets + Longueur de la Chaine de caractère ou 16 Octets si numérique)

Pour le Dim, c'est tout simplement qu'il déclare les variables et leur attribue de l'espace de stockage dès le démarrage d'une routine.

Un Dim NbLignes As String comme tu avais fait, va préserver un espace de Stockage de 10 octets + longueur de la chaîne pour cette String de longueur variable... Alors qu'en fait pour définir un nombre de ligne les 3/4 du temps on a besoin que :

Byte (1 octet) de 1 à 255 lignes (Valeur Réelle 0 à 255)
Integer (2 octets) de 1 à 32 767 lignes (Valeur Réelle -32 768 à 32 767)
Long (4 octets) de 1 à 65536 lignes (Valeur Réelle -2 147 483 648 à 2 147 483 647)

Voilà, si cela peut t'éclairer un peu, n'hésite pas à user et abuser de l'aide de VBA (Touche [F1] quand tu as sélectionné une instruction dans le code)

Bon week End and Welcome to the VBA World !
@+Thierry

Message édité par: _Thierry, à: 11/06/2005 11:30
 
Bonjour Thierry Thierry, Laurent, le Forum

Merci pour toutes ces explications. si je peux me permettre, il y a quelques petites choses que je ne comprends pas :

Pourquoi : 'Private NbLignes As Long' et non tout simplement 'Dim NbLignes as integer'


Private Sub UserForm_Activate()

Puis aussi, pour la 1ère boucle : 'Dim I As Integer ' --> Ok
Mais pour la 2ème : 'Dim J As Long', je ne comprends pas la différence, alors que 'I' et 'J' on la même fonction !!!

Encore mille fois merci à Thierry d'avoir de son temps certainement compté.

A+ et bonne journée
Jordan
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
608
Réponses
2
Affichages
860
  • Question Question
Microsoft 365 Code VBA
Réponses
2
Affichages
594
L
Réponses
2
Affichages
1 K
Laurent_7
L
P
Réponses
7
Affichages
1 K
plaiiz
P
N
Réponses
1
Affichages
786
nounou1902
N
N
Réponses
14
Affichages
2 K
nounou1902
N
J
Réponses
16
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…