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

effacement cellule vide

  • Initiateur de la discussion Initiateur de la discussion Stef
  • 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 !

S

Stef

Guest
Bonjour,
j'ai créer un fichier sur excel 2000 et malheureusement sur excel 2003, une macro mouline énormément.
C'est sur un plage de donnée très grande contenant une formule renvoyant soit du texte soit '' (vide).
La longueur du texte est nettement plus grande que la cellule (j'utilise bcp de colonne),
donc, le texte ne s'affiche que partiellement.
Pour remedier à ça,
j'ai créer une macro qui vérifie le contenu des cellule et supprime la formule si la valeur est ''.
Pour ce faire, j'utilise une boucle du style :
For i = 13 To 206
Cells(12, i).Select
If Cells(12, i) = '' Then Selection.ClearContents

C'est sur ce point que ma macro met énormenent de temps.
une idée pour accélérer ou peut être une autre solution ?
 
oui, je recherche une cellule qui affiche vide mais contenant une formule et je l'efface.
Parce que :
le texte dans la cellule à côté ne s'affiche pas complètement (il est nettement plus grand que la taille de la cellule).
La seul solution pour qu'il s'affiche est d'effacer les cellules à côté.
C'est assez du bricolage mais cela fonctionne, mon seul problème est la vitesse d'éxécution sur excel 2003.
voilà.
 
je précise que même un copier/collage spécial valeur ne resoud pas le problème. (cela efface les formules et ne laisse que le texte).
seul un effacement des cellules vides fonctionne, étrange non ?
 
Bonsoir Stef, bonsoir David, bonsoir à toutes et à tous 🙂

Tu as vraiment peu de cellules à vérifier à voir ton code. La lenteur vient peut-être d'un recalcul à chaque modification de tes cellules, essaie d'ajouter ceci à ta procédure :


EDITION : Quand le résultat d'une formule retourne '', la cellule n'est plus vide (Empty) car elle contient alors une chaîne de caractères, même si cette dernière est vide.

A+ 😉

Message édité par: Charly2, à: 30/04/2006 01:05
 
Bonjour et merci de ta réponse.
Malheureusement, cela ne fonctionne pas
car si les cellules ne sont pas recalculé, elles restent toutes vides donc toutes effacée.

en fait je travaille sur 3 lignes * 193 colonnes.
chaque cellules contient une formule avec 3 SI, plusieurs OU et ET avec lien sur autre feuille du classeur.

bonne journée à tous et toutes
 
Effectivement ça marche. 😉
petite erreur de ma part (oubli de calcul automatique à remettre).

La macro s'exécute plus vite.

merci pour ces quelques lignes de codes qui m'ont économisé des heures de reflexion.
B)
 
Bonjour Stef, bonjour David,
bonjour à toutes et à tous 🙂

Ton avant dernier post m'avait surpris mais puisque tu me confirmes que ta macro est un peu plus rapide à l'exécution, je n'ai plus besoin de te dire d'ajouter une intruction Calculate avant de lancer ton code 🙂

A+ 😉
 
Bonjour Stef, David, Charly2, 🙂

Puisqu'il s'agit de gagner du temps, pourquoi aller chercher midi à quartorze heures ? 🙂

Si on prend ton approche du code Stef, essayes ceci :
For i = 13 To 206
If Cells(12, i) = '' Then Cells(12, i).ClearContents


Il est inutile et même souvent nuisible de sélectionner les cellules quand ce n'est pas nécessaire, déclenche ton chrono, il ne devrait pas y avoir photo :whistle: Si en plus tu n'avais pas figé l'affichage, Miam ! en cumilant avec l'approche de Charly2 le coef de gain doit être sympa.

Bonne journée à tous,

Brico
 
- 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
0
Affichages
658
Réponses
4
Affichages
746
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…