Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Mon classeur est atteint de la danse de Saint-Guy !

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 !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,

J'ai un classeur dans lequel il y a un UserForm.
Quand j'ouvre le classeur, ça scintille, ça calcule je ne sais quoi, bref c'est la panique !
J'ôte l'Usf et alors tout se calme.
Voilà un bon moment que j'essaie de comprendre ce qui se passe.

Un grand merci à qui me sortira de cette impasse.
 

Pièces jointes

Re : Mon classeur est atteint de la danse de Saint-Guy !

Bonsoir Job,

En effet, nos posts ont dû se croiser et entre-temps je suis allé déjeûner (décalage horaire oblige...).
D'abord un grand merci pour m'avoir tiré d'affaire. Boudi !, ¡que lo pario!, quelle aventure pour un truc qui paraissait, ma foi, si simple au départ...
Tu as écrit :
ComboBox3.List =[ListeColonnes].Resize([ColonnesRestantes], 2).Value
Et là j'avoue, ce n'est pas encore très clair au niveau cortical...
J'étudie attentivement tes macros dans le module de l'USF afin de ne pas mourrir idiot et surtout de progresser dans ce langage bien souvent abscons qu'est VBA.

Dans la feuille "Items" où tout s'organise afin d'obtenir l'adresse de la plage de cellules qui sera le point de départ de la mise en forme des lignes sous-jacentes, les colonnes "Liste Items" & "Fréquences" sont, si je me souviens bien de Monique.
La 1ère colonne de la feuille que j'ai surlignée en rouge, récupère, sous forme de colonne, la ligne "SousZone6" de la feuille "Divers".
Apparaissent des "#N/A" qui perturbaient sérieusement les formules matricielles de Monique. Pour m'en sortir j'ai dû créer une 2ème colonne afin d'éliminer ces "#N/A". Bien que ce ne soit pas vital, je me suis demandé si, après tout, je ne pouvais pas me débarrasser de la 1ère colonne en écrivant dans la seconde :
{=SI(ESERROR(TRANSPONER(INDIRECTO(EnTête))=VERDADERO;"";TRANSPONER(INDIRECTO(EnTête))}
Et bien, ça ne marche pas du tout. Je n'ai pas très bien compris pourquoi.
Peut-on, par un autre moyen, s'affranchir de cette 1ère colonne ?
 

Pièces jointes

Re : Mon classeur est atteint de la danse de Saint-Guy !

Re Doctor,

En transposant un vecteur de dimension 15 sur un vecteur de dimension 49 (B7:B55) tu as forcément des #N/A.

C'est bien pour ça que tu as la colonne C non ?

Pour revenir à l'USF, ça beugue à l'ouverture si l'on entre n'importe quoi en E5.

Il faut prévoir une validation de données dans cette cellule.

De même, il faut interdire l'entrée de données manuelles farfelues dans les ComboBox.

Mais je vais me coucher, bonne soirée pour toi.

A+
 
Re : Mon classeur est atteint de la danse de Saint-Guy !

Bonjour Magic Doctor, le forum,

J'ai donc revu les macros pour qu'elles empêchent d'entrer n'importe quoi dans les ComboBox.

Il est inutile de prévoir une validation de données dans les cellules E5 H5 J5.

Par ailleurs j'ai renommé ADRESSEPLAGE ta fonction VBA ADRESSE car sur la version française ADRESSE est une fonction native d'Excel.

Fichier (4).

Nota : rien n'empêche d'entrer des nombres décimaux dans ComboBox2 et ComboBox3, mais ce n'est pas gênant.

A+
 

Pièces jointes

Re : Mon classeur est atteint de la danse de Saint-Guy !

Re,

Bon maintenant un peu de formules, voir fichier (5) joint.

1) Pour éviter la colonne B avec ses #N/A, formule en B7 :

Code:
=SI(LIGNES(B$7:B7)>COLONNES(INDIRECT(EnTête));"";INDEX(INDIRECT(EnTête);LIGNES(B$7:B7)))
2) Formule plus simple en D7 pour la liste sans doublons :

Code:
=SI(LIGNES(D$7:D7)> SOMME(1/NB.SI(ListeItems1;ListeItems1));"";INDEX(ListeItems1;MIN(SI(NB.SI(D$6:D6;ListeItems1)=0;LIGNE(ListeItems1)-LIGNE(D$6)))))
3) Formule plus simple en E7 :

Code:
=SI(D7="";"";NB.SI(ListeItems1;D7))
Il ne te reste plus grand'chose à faire 🙂

Edit : le fichier n'était pas passé.

A+
 

Pièces jointes

Dernière édition:
Re : Mon classeur est atteint de la danse de Saint-Guy !

Bonjour Magic Doctor, le forum,

Il vaut mieux interdire l'entrée de nombres décimaux :

Code:
ComboBox2 = Int(Val(ComboBox2)) 'impose un nombre entier
[ChxOrdre] = Val(ComboBox2)
Utiliser ce fichier (7), je pense que tout est maintenant réglé.

A+
 

Pièces jointes

Re : Mon classeur est atteint de la danse de Saint-Guy !

Bonsoir job75, le forum,

J'ai attentivement étudié tes modifications, même si plusieurs points en VBA demeurent pour moi obscurs.

Mais d'abord concernant les formules.
Bravo pour avoir réussi à supprimer la 1ère colonne (celle où apparaissaient des "#N/A").
Bien que ta formule pour la colonne "D" ("Liste Items") soit plus concise, j'ai conservé celle de Monique car la liste des différents items du tableau éliminée des doublons est automatiquement triée par ordre alphabétique, ce qui peut être pratique pour mieux s'y retrouver au cas où il y ait un paquet d'items.
Je suis tes conseils sur l'interdiction d'entrer des nombres décimaux ; il est en effet intéressant de prévoir toutes les éventualités.
En ce qui concerne l'actuel classeur, dans les listes déroulantes n'apparaissant que des chaînes de caractères, je ne pense pas qu'il y ait de problèmes.
Dans ton dernier post tu écris la correction apportée pour obliger des nombres entiers :
ComboBox2 = Int(Val(ComboBox2)) 'impose un nombre entier
[ChxOrdre] = Val(ComboBox2)
Mais ne pourrait-on pas tout simplement écrire :
ComboBox2 = Int(Val(ComboBox2)) 'impose un nombre entier
[ChxOrdre] = ComboBox2
puisque l'on stipule que ComboBox2 est une valeur entière ?
 
Dernière édition:
Re : Mon classeur est atteint de la danse de Saint-Guy !

Re,

ComboBox2, comme toutes les ComboBox renvoie du texte.

Sans le Val dans [ChxOrdre] = Val(ComboBox2) tu peux vérifier que la cellule ChxOrdre devient une valeur texte.

Pour tester ça entre dans une cellule =ESTTEXTE(ChxOrdre) ou =ESTNUM(ChxOrdre)

Je ne connais pas la traduction en espagnol.

A+
 
- 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

N
Réponses
5
Affichages
1 K
wachoo31
W
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…