Macro limitée par le nombre de cellule ?

Moi j'ai une idée !

Un fichier ! Votre fichier ! On comprendra alors pourquoi ceci ou cela ne marche pas !

@ bientôt

LouReeD

Bonjour,

Désolé eriiic, mais je ne suis pas assez calé pour vous suivre.

Tu as juste à remplacer le nom test3 par le tien dedans :

    Dim c As Range
    If [test3].Areas.Count = 1 Then
        [test3].ClearContents
    Else
        For Each c In [test3]
            c.MergeArea.ClearContents
        Next c
    End If

Ah tiens, j'avais raté la proposition de Bruno. Pas plus bête...

eric

Oui, pas de problème pour donner le fichier, mais je sais pas comment on fait en MP ?

OK pour eric, j'essaierai demain. Pour l'instant, on va coucher les mirettes

Merci beaucoup.

Bonjour,

J'ai essayé le code d'eriiic, ça ne marche pas. Message : Instruction incorrecte à l'extérieur d'une procédure.

Ça y est, j'ai trouvé comment joindre le fichier. Les cellules à effacer sont les vertes. La plage de cellules est nommée "Mescellules". Sur cet essai, la macro efface toutes les cellules du bas du document ....alors qu'une autre fois c'était celles du haut......vraiment bizarre.

Merci beaucoup.

Bonjour,

Message : Instruction incorrecte à l'extérieur d'une procédure

Et ça t'étonne ?

Le problème ce n'est pas les codes qu'on te propose (enfin pas toujours), c'est que tu veux programmer sans faire l'effort d'apprendre le B.A.BA minimum...

Aucun problème avec :

Sub test()
    Dim c As Range
    Application.ScreenUpdating = False
    If [Mescellules].Areas.Count = 1 Then
        [Mescellules].ClearContents
    Else
        For Each c In [Mescellules]
            c.MergeArea.ClearContents
        Next c
    End If
End Sub

que tu peux réduire à :

Sub test()
    Application.ScreenUpdating = False
    For Each c In [Mescellules]
        c.MergeArea.ClearContents
    Next c
End Sub

vu que tu es toujours dans ce cas précis

eric

Eh ben, quel ton !

...tu veux programmer sans faire l'effort d'apprendre le b.a b.a minimum.... C'est un peu injuste, je trouve. J'ai commencé mon message en disant que j'étais néophyte. Depuis le début je fais des efforts pour comprendre ce que vous me proposez ; et ça marche, vu que j'ai appris des trucs (vous aussi d'ailleurs ). Quand tu as proposé ton code, j'ai dit dès le début que je ne comprenais pas. Je veux bien "faire l'effort", mais à aucun moment tu ne m'as expliqué ce que signifiait "mergearea".....? Alors j'ai fini par l'essayer, sans le comprendre, c'est vrai.

Par ailleurs, si tu relis bien mes messages, je dis bien que c'est pour le boulot. Je demande un conseil, un coup de main, auprès de gens spécialistes et passionnés pour résoudre un problème concret professionnel. Excel est pour moi un outil, pas une fin en soi, et je ne peux pas me spécialiser dans tous les domaines qui touchent de près ou de loin mon travail (personne ne le peut).

Malgré tout, j'ai bien sûr continué à essayer des trucs de mon côté :

1-Tout d'abord j'ai réessayé avec ton code, mais version "non réduite". Il n'y a plus le message d'erreur, mais comme précédemment, seule une partie des cellules s'efface.

2- Ensuite, j'ai réessayé avec le code de Bruno, mais sans refusionner les cellules. Même comme ça, seule une partie s'efface. Même avec des cellules simples ça ne marche pas....? C'est peut-être le classeur qui est foireux ?? Je vais essayer sur un document neuf.

Pas bonjour non plus,

1) non tu n'as pas fait l'effort minimum qui te permet de juste utiliser les propositions faites.

De plus le message d'erreur était parfaitement clair

2) mergearea : https://forum.excel-pratique.com/viewtopic.php?p=867043#p867043

De plus tu as F1 (l'aide) et google

Injuste ? Non, réaliste

eric

Bonjour, (oui, pardon pour l'oubli)

Il y a google, effectivement, qui te propose des sites comme celui-ci... Mais bon, visiblement il faut avoir un niveau prérequis que je n'ai pas. Désolé.

tu n'as pas fait l'effort minimum qui te permet de juste utiliser les propositions faites

Je les ai toutes essayées y compris tes deux codes, relis bien la fin de mon dernier message, où j'essaye d'apporter des éléments nouveaux.

Si je comprenais bien tous ces problèmes, je ne ferais pas appel à vous, non?

Merci.

Bonjour !

Si suite aux effacements par les codes proposés, toutes les cellules ne s'effacent pas c'est qu'il y a peut-être à la suite ou en événementiel un code VBA qui ré écrit sur ce qui vient d'être effacé...Oups, vous avez fourni le fichier... Je regarde...

Bon j'ai mis en violet la zone "Mes cellules", puis j'ai appuyé sur le bouton 7 "RAZ", puis OK à la question, et hop toutes les cellules violettes se sont vidées...

Si vous parliez de cellules sur fond vert, alors toutes celles du haut ne font pas partie de la zone "Mes Cellules"...

Le fichier :

4fiche-reco.xlsm (133.98 Ko)

@ bientôt

LouReeD

Bonjour,

Le problème viendrait de là alors. C'est bizarre, j'ai pourtant bien sélectionné toutes les cellules vertes avant de les nommer et j'ai même réessayé plusieurs fois. Je n'ai pas trouvé comment vérifier rapidement quelles cellules sont englobées dans le nom ?

Comment fais-tu ?

Merci

Oublie ma dernière question, je viens de trouver, désolé

Dans le menu "formules" cliquer sur "Gestion des noms" un icône légèrement sur la droite par rapport au menu formule.

Puis dans la fenêtre qui s'ouvre, cliquer sur le nom "Mes Cellules", en bas de la fenêtre la "formule" de la zone s'affiche, il suffit alors de cliquer dessus une fois pour entrer en mode de saisie texte et en parallèle la zone correspondante sur la feuille se voit entourée de pointillé clignotants et là on voit bien qu'en haut les cellules vertes n'en font pas partie.

Pour moi j'ai fait plus "simple", j'ai sélectionné le nom "Mes Cellules" dans la liste déroulante qui se trouve à gauche de la barre de formule puis j'ai mis du violet, et là on voit bien que toutes les cellules vertes ne sont pas violette...

Moralité : avec un fichier cela va beaucoup plus vite !

@ bientôt

LouReeD

Désolé, je ne peux oublier aussi vite !

@ bientôt

LouReeD

Je viens de réessayer 2 fois de suite. Il est impossible de regrouper toutes les cellules sous un même nom. Quand on sélectionne TOUTES les cellules vertes et qu'on définit le nom, une seule partie de la sélection est prise en compte....pourquoi...???

Bonjour,

J'ai refait plein d'essais. Tous les codes marchent très bien, ça c'est ok. Le problème c'est qu'on ne peut pas créer de nom avec autant de cellules fusionnées ; et apparemment ce n'est pas le nombre de cellules qui coince, c'est la multiplicité des plages non contiguës et la longueur de la chaîne de caractères qui les définissent dans le gestionnaire de nom (cf. image ci-dessous). J'ai essayé de compléter manuellement la plage de référence et c'était impossible de rajouter une virgule, le son "erreur système" se faisant entendre à chaque fois. Ensuite, voyant que pour chaque plage de référence, le nom de la feuille est cité, j'ai raccourci le nom de ma feuille de "Fiche reconnaissance" en "F.reco". Et là j'ai pu rajouter un grand nombre de plages. Il semblerait que pour un nom, la plage soit limitée en nombre de caractère.

5z7m

Afin d'être sûr que ça ne vienne pas de ce classeur, j'ai fait le test sur un classeur neuf : même constat.

Du coup maintenant tout marche, c'est génial. Mais c'est vrai qu'idéalement j'aurais préféré garder le même nom de feuille, car ce fichier est utilisé par beaucoup de personnes, dont un certain nombre de "numérico-refractaires" qui sont perdus quand c'est pas complètement évident. Sachant que j'ai donné ici une version allégée, il y a 4 autres feuilles sur le vrai.

Donc, si toutefois vous avez une idée pour contourner ce problème, je suis encore preneur .

Merci beaucoup.

Bonsoir,

pour garder le même nom de feuille, faites donc des Zones de Cellules par groupe comme votre formulaire, et ensuite il suffira d'écrire une ligne pour chaque zone lors de l'effacement.

@ bientôt

LouReeD

Mais bien sûr, c'est pourtant évident ; décidément je manque de réflexes excelliens.

Merci mille fois.

Et bien merci !

Mais vu ce que j'ai fais sur cette discussion je n'en prendrais que 10 mercis et je laisse les 990 aux autres intervenants !

@ bientôt

LouReeD

Bonjour,

Ça marche tout bien.

J'ai appris plein de trucs, un grand merci à tous les trois, et à une prochaine peut-être.

Bon déconfinement

P.S : soit cool avec les debs, eric

Rechercher des sujets similaires à "macro limitee nombre"