Trouver le primer nombre à 4 chiffres

Bonjour,

J'ai la colonne A qui contient des nombres à 3 chiffres et à 4 chiffres. Je souhaite trouver le premier nombre à 4 chiffres. Les nombres à 4 chiffres débutent par 800?. Le premier nombre à 4 chiffres n'est pas toujours le même. J'aimerais savoir sur quelle ligne se trouve ce nombre. Je dois identifier cette cellule pour ensuite effacer les lignes suivantes et ne conserver que les lignes qui contiennent des nombres à 3 chiffres.

Je vous fais confiance pour trouver une solution.

Merci

Claire

16ab.zip (7.97 Ko)

Bonsoir Claire D,

Il doit y avoir mieux comme solution, mais en attendant :

V6 : =SI(NBCAR(A6)=4;1;0)

W6 : =LIGNE()

A tirer vers le bas.

=RECHERCHEV(1;V:W;2;0)

mbbp

Merci mbbp

mais je recherche une solution macro. L'usager ne voit pas les fichiers seulement le résultat final.

Claire

Bonsoir

Formule Matricielle

=EQUIV(4;NBCAR(A1:A43);0)

Amicalement

Nad

Re

J'ai vu après coup que tu voulais un code.

Une solution : tu nommes Formule la formule que j'ai donné plus haut

Sub Ligne()
Dim Lg As Integer
Lg = [Formule]
MsgBox Lg
End Sub

Nad

Bonjour Nad,

ta formule fonctionne très bien dans Excel. Mais quand je veux l'intégrer dans le code vba, cela ne fonctionne pas. Montre-moi le code au complet s.v.p. incluant la formule.

Merci

Claire

Re

17copie-de-ab-1.zip (14.78 Ko)

Edit : la formule est un Nom Défini

Nad

Bonsoir Nad,

Question plus générale, peut on utiliser ce principe pour appliquée une formule un peu "compliquée". Un nom et on appelle ce nom dans la macro.

Cordialement.

Bonsoir psdi

Tout à fait ; c'est une façon de faire que j'emploie très régulièrement

Amicalement

Nad

Re,

C'est parti trop vite, j'ai oublié d'y ajouter.

Tu parlais de formule matricielle.

Est ce le [ ] de : Lg = [Formule] ou autre chose ?. les [ ] sont elles importantes?

Cordialement.

Salut Nad,

pourquoi faire simple quand je peux faire compliqué....

Je mettais la ligne

formule="=EQUIV(4;NBCAR(A1:A43);0)"

dans la macro, mais cela ne fonctionnait pas. J'avais une incompatibilité de type.

Tout est rentré dans l'ordre maintenant.

J'aimerais tout de même savoir si je pouvais l'inclure dans la macro.

Merci beaucoup

Claire

Re

La variable Lg est définie

Lg = [Formule]

Tu peux donc t'en servir dans ton code.

Tu enlèves le Msgbox qui n'était là que pour contrôle

psdi a écrit :

Est ce le [ ] de : Lg = [Formule] ou autre chose ?. les [ ] sont elles importantes?

Il s'agit d'une autre façon d'écrire

Range("Formule")

Nad

Bonjour,

Les [ ] sont une écriture abrégée de range(ton_nom).

Une formule est toujours interprétée en matriciel dans un nom.

eric

edit: désolé, je n'avais pas vu ta réponse Nad. Pas bien attentif moi

edit2: ah oui, y'avait 2 pages...

Merci infiniment Nad

J'ai pu, après maints essais, inclure "définir nom"

Sub ligne()
Dim Lg As Integer

Range("A:A").Select
    ActiveWorkbook.Names.Add Name:="formule", RefersTo:= _
        "=match(4,len(a:a),0)"

Lg = [Formule]
MsgBox Lg
End Sub

si je rajoute ton bout de code, cela fonctionne très bien.

Il n'acceptait pas les termes français, j'ai du les changer.

Je devais l'inclure dans une macro, car l'usager n'a que.... une notion de base de Excel.

Encore un gros merci

Claire

Rechercher des sujets similaires à "trouver primer nombre chiffres"