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 !
Je suis actuellement en train d'essayer de trouver une formule qui me tri une colonne avec des informations dans laquelle il y a des espace vides. Je souhaite supprimer les espaces vides car dans un autre onglet j'ai une formule SOMMEPROD qui plante à cause des espaces qu'il peut y avoir dans ladite colonne.
dans l'onglet test j'ai réalisé à partir de la colonne S ce que je voudrai voir apparaître et en colonne T où j'en suis actuellement avec ma formule.
Je ne comprends pas ce que tu veux obtenir. Ta colonne T serait identique à la colonne D. Pourquoi se compliquer la vie ?
En plus tu dois valider l'itération pour supprimer le message de référence circulaire.
Une petite astuce, pour supprimer tes tests dans les formules pour ne pas afficher les 0 issus de formule, tu as deux possibilités, soit un format personnalisé [0]"";standard ou décocher l'option "valeurs à zéro" dans l'onglet "affichage" des options d'excel.
en colonne "D" j'ai, de la ligne 11 à 150, un menu déroulant. Imaginons que l'utilisateur aille sur la ligne 20 de la colonne "D", et sélectionne à l'aide du menu déroulant un des éléments. Puis, pour "x" raison celle-ci au lieu de continuer à la suite de la ligne 20, c'est à dire la ligne 21, cette personne donc aille en ligne 22 par exemple pour continuer sa saisie.
Alors à ce moment j'ai un problème ! il y a une ligne vide entre la ligne 20 et 22.
Car, j'utilise un SOMMEPROD dans un autre onglet pour faire certains calculs selon ce qu'il en notamment en colonne D. Le SOMMEPROD ne fonctionne pas lorsqu'il y a des lignes vides de textes dans ma sélection !
Soit je dis à l'utilisateur, OK il ne faut laisser de ligne vide entre deux saisies.
Soit je fais un tri faisant disparaître les lignes vides.
j'ai choisi la deuxième solutions parce que je ne souhaite pas contraindre l'utilisateur sur ce point précis.
J'espère que mon explication est plus clair maintenant.
Dans mon esprit le mot "espace" correspond à la touche "barre d'espace", d'où la recherche d'espace DANS tes cellules : au début du(es) mot(s), entre les mots, à la fin (les plus vicieux car on les vois pas tjrs).
Vide = rien
Espace = c'est pas visible, mais ce n'est pas rien
Pour ça que les deux ensemble, ça faisait bizarre!
J'ai testé une formule SOMMEPROD() avec un exemple fait maison, qu'il y ait des cellules, ou lignes vide (ou contenant que des espaces ou espaces + texte), j'ai rencontré aucun bug! Tu peux nous envoyer ton fichier avec la cellule où se trouve ta formule qui bug?
Quelqu'un du forum trouveras surement d'où viens ton pb.
en ce qui concerne les "espaces vides" je me suis encore une fois mal expliqué je crois... il s'agit en fait de "lignes intercalées" vides entre deux lignes de saisie.
Avec ton dernier fichier. c'est difficile de comprendre, mais bon il a le mérite de repartir sur des bases saines. Et je préfère.
Si je comprends ce que tu veux nous expliquer. La formule SOMMEPROD ne retourne pas la valeur correcte quand l'utilisateur n'a laisser une ligne vide entre deux lignes saisies. ?
Oui c'est complètement normal. Le problème si je peux dire ainsi ce situe dans la définition des plages dynamiques. Prends la plage nommée TestDir sa référence est
en utilisant la fonction NB() tu retournes le nombre d'éléments numériques dans la plage Test!$K$11:$K$150, et non pas la ligne de la dernière cellule utilisée dans cette plage.
La solution la plus simple, est de rajouter dans la cellule Test!R10 la formule
Code:
=MAX(Test!R11:R35)
et de remplacer dans les plages nommées la fonction NB par Test!R10.
Autre chose, pendant que j'y suis, si tu veux diminuer les temps de calcul de ton classeur, tu dois absolument écarter les valeurs à 0 par le format personnalisé, cela va éviter des SOMMEPROD pour rien
Pour t'éviter de modifier à la main toutes tes formules de la feuille "Regroupement".
Procède de cette manière.
1) Sélectionne les colonnes B:B
2) Menu Edition/Remplacer...
3) dans la boîte de dialogue :
- au champ rechercher indique *"";
- au champ remplacer indique £
et valide, cela supprime la première partie de la formule
4) Menu Edition/Remplacer...
- au champ rechercher indique ))
- au champ remplacer indique )
et valide , cela modifie la fin de la formule
5) Menu Edition/Remplacer...
- au champ rechercher indique £
- au champ remplacer indique =
et valide, cela transforme le texte en formule et relance les calculs.
6) Mise en place du format personnalisé
[=0]"";Standard
7) Reste à modifier la mise en forme conditionnelle
=SI($D76<>"";ET($D76<>"";MOD(LIGNE();2)=1))
devient
=SI($D76<>0;ET($D76<>0;MOD(LIGNE();2)=1))
et
=SI($D76<>"";ET($D76<>"";MOD(LIGNE();2)=0))
devient
=SI($D76<>0;ET($D76<>0;MOD(LIGNE();2)=1))
L'utilisation en colonne C et D n'est que le reflet de la colonne B multiplier par le taux.
Tu n'as pas besoin de faire de nouveau les SOMMEPROD.
Pour finir la validation de la formule en matricielle, n'est pas une obligation dans ton cas.
Désolé d'avoir eu l'oeil critique sur ton fichier. Au plaisir de lire ta prochaine réponse.
- 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