VBA effacer des cellules "déjà vides"

Bonjour,

Je suis en train de travailler sur un tableau, et devant me servir d'une formule matricielle, j'ai rencontré un problème qui fait que cette dernière ne s'effectue que sur mes cellules vides.

Le fait est que même avec un copier coller (en valeur) de formules retournant un résultat : "" , la cellule n'est toujours pas considérée comme vide, je dois alors la sélectionner et appuyer sur suppr pour la vider réellement et que ma formule matricielle fonctionne.

Ma question est : Il y aurait-il un moyen d'opérer cet effacement de cellules déjà théoriquement vides dans une sélection de cellules définies ("U4:"U512" dans mon exemple) automatiquement via VBA tout en laissant le contenu des cellules "non vides" intact.

En vous remerciant par avance !

Bonjour et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum
- Quelques fonctionnalités du forum à connaître
qui vous aideront dans vos demandes et réponses sur ce forum.

Regardez aussi les petites icônes mises à votre disposition dans la barre de menu qui :
- vous permettent de poster un code (</>)
- ou de clôturer un fil lorsque vous avez terminé (V)

Mettez aussi votre profil excel à jour en mentionnant votre version excel (2016, 2021, MAC2016, ...)


Pour votre souci, en faisant une petite recherche sur le forum --> https://forum.excel-pratique.com/s/goto/1119897

Cordialement

Bonjour et merci pour votre réponse ! Je m'occuperai de tout cela ce soir !

Concernant la redirection que vous m'avez envoyé, ils concernent la volonté de vouloir supprimer des lignes dont les cellules sont vides (ou égales à 0).

Je voudrais pour ma part supprimer le contenu des cellules "vides" (Oui la demande est étrange) dans ma sélection de cellules, et non les lignes car c'est le seul moyen que j'ai trouvé pour que ma formule matricielle fonctionne correctement.

Je voudrais pour ma part supprimer le contenu des cellules "vides"

C'est plutôt adapter votre formule pour qu'elle ne prenne pas en compte les cellules vides que vous voulez faire

Le mieux serait de mettre votre fichier en ligne (sans données confidentielles)

Crdlt

7test-excel.xlsm (10.49 Ko)

Ci-joint un fichier exemple avec quelques indications si vous voulez essayer !

Cordialement,

Bonsoir Gambbbb, Dan,

Voir modifications en Colonne C et les formules en colonne E.

Bonjour,

Je vous remercie tout d'abord de votre réponse, j'ai pu regarder et en effet, cette solution fonctionne quand les produits ont des noms génériques identiques et un chiffre à la fin, ce qui n'est pas le cas dans la réalité (c'était fait pour anonymiser le jeu de données).

Je vais continuer à regarder si je trouve une autre solution.

Re

j'ai pu regarder et en effet, cette solution fonctionne quand les produits ont des noms génériques identiques et un chiffre à la fin, ce qui n'est pas le cas dans la réalité (c'était fait pour anonymiser le jeu de données).

Votre fichier a également l'info Vrai ou faux en colonne J ?

Edit :
en C2 mettez ceci --> =SI(B2="";"";SOMMEPROD((B$2:B$12<=B2)*(B$2:B$12<>"")))
en E2 mettez ceci --> =SIERREUR(SI(NBVAL(E$1:E1)>=NB(C$2:C$12)+1;"";INDEX(B$2:B$12;EQUIV(PETITE.VALEUR(C$2:C$12;LIGNES(E$2:E2));C$2:C$12;0)));"")

A adapter si vous voulez mettre en D2 (j'ai placé en E2 par rapport à votre fichier posté.

Cordialement


J'ai trouvé une solution alternative très proche de celle de X Cellus, j'ai défini des numéros de ligne à mes produits tout en effacant ces numéros quand aucun produit n'était situé en face (les fameux trous) via une formule Si basique, j'ai ensuite classé ces nombres avec Petite.Valeur et ensuite retrouver mon produit correspondant à chacun de ces nombres avec une rechercheV, pour le moment la formule semble bien fonctionner dans tous les cas que j'ai pu voir.

Si jamais vous voyez un cas dans lequel cette dernière formule ne marcherait pas, nous pouvons en discuter !

En vous remerciant énormément pour l'aide apportée, Dan et X Cellus

Et pour vous répondre tout de même Dan, oui les infos vrais et faux n'ont pas été modifiés et sont utiles dans mon tableau.

Bonjour à tous,

Une solution (versions Excel récentes) basée sur l'emploi de la formule Fractionner.Texte couplée à Equiv et Décaler.

Rechercher des sujets similaires à "vba effacer deja vides"