Tester si formule dans une colonne

Fermé
vieuxray - Modifié le 26 nov. 2018 à 15:36
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 30 nov. 2018 à 07:53
Bonjour a vous tous, forum bonjour,

<config>Windows 10/ Internet Explorer 11.0</Excel 2007>

Je souhaiterai tester en réel la présence de formule dans la colonne E a partir de E3:E100.
Il se peut qu'il y ai (une valeur en plus de la formule).
On ne tient pas compte des cellules vides ni qui contienne une valeur

Seul le test d'absence de formules m'interresse, merci.

Je voudrais juste savoir si une formule (est bien ou pas) dans une des cellules de la colonne E3:E100

Si manque une ou des formules auquel cas Ex: MSGBOX " 4 cellules n'ont pas de formule"
Si toutes les cellules ont une formule alors on continue le programme.

Merci pour votre aide, bonne après midi a vous.

Cdlt Vieuray
A voir également:

5 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
26 nov. 2018 à 16:56
Bonjour Vieuray, bonjour le forum,

Peut-être comme ça :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)

Set O = Worksheets("Feuil1") 'définit la variable O (à adapter à ton cas)
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
'sélectionne les cellules contenant une formule dans la plage E3:E100 (génère une erreur si il n'y en a aucune)
O.Range("E3:E100").SpecialCells(xlCellTypeFormulas).Select
If Err <> 0 Then 'condition : si une erreur a été générée
    Err.Clear 'supprime l'erreur
    MsgBox "Aucune cellule ne contient de formule !" 'message
End If 'fin de la condition
End Sub

2
Salut Thautheme,

Merci pour ta réponse et le petit code, c'est sympa a toi.

J'ai essayer ton code qui ne fonctionne pas tout a fait comme voulu.

J'ai rempli ma colonne (E) avec une formule puis j'ai lancer la macro
et la réponse est MsgBox "Aucune cellule ne contient de formule"

alors que toutes les cellules de la colonnes (E) sont bien remplies.

J'ai supprimer volontairement 3 formules au pif puis j'ai de nouveau lancer la macro et la réponse est toujours même.MsgBox "Aucune cellule ne contient de formule"

Je n'ai pas trouver l'erreur, désolé.

Bonne fin de fin de journée et merci

je retourne voir si je trouve.

Je peux t'envoyer mon fichier pour essai, si tu veux bien.

Cdlt vieuxray
0
Re bonsoir Thautheme.

Je me permets de te mettre le lien pour le fichier, a toutes fins utiles et si tu veux t'en servir pour des essais.

J'ai RDV demain de bonne heure, je ferme le Pc pour ce soir.

Bye bye et merci pour ton aide, bonne soirée a toi.

Cdlt Vieuxray

https://www.cjoint.com/c/HKAsIcKxcAz
0
salut

bon plus de réponse tant pis
cdlt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
Modifié le 30 nov. 2018 à 07:54
Bonjour,

C'est toujours désolant de constater qu'aucun effort n'est fait du côté du demandeur.
As-tu au moins tenté quelque chose avec le code de ThauTheme (salut l'ami)?
Depuis 2013 que tu nous poses des questions ici et/ou ailleurs, n'as-tu donc rien appris?

Dans ce cas précis, il n'y a que 2 infimes modifications à apporter au code que l'on t'offre pour obtenir ce que tu veux :
1- déclarer une variable As Range et lui affecter le contenu de SpecialCells
2- Ajouter un Else dans la condition If.

Franchement!

L’algorithme, en FRANCAIS, de cet exercice est :

>Déclarer les variables: O As Worksheet, R As Range
>Affecter à O la feuille concernée
>Désactiver le gestionnaire d'erreur
>Affecter à R la plage des cellules concernées grâce à la méthode SpecialCells et sa constante xlCellTypeFormulas (sans sélectionner la plage hein!)
>Si Erreur (utiliser la propriété Number de l'objet Err)
===>La plage R ne contient pas de formule
===>Eventuellement vider l'objet Err
>Sinon
===>Utiliser la propriété Count de la propriété Cells de l'objet Range R pour retourner le nombre souhaité
>Fin Si
>Réactiver le gestionnaire d'erreur.

Tu n'as donc plus qu'à traduire cela en VBA, sachant que ThauTheme t'as déjà fournit les 4/5èmes du code...
Reviens nous montrer le résultat!
0