VBA Si il ne trouve pas la référence ouvre un msg pour dire pas trouvé

J'aimerais que si il trouve pas de L dans la colonne V qu'il ne met pas le message d'erreur : Erreur d'execution '5'

Argument ou appel de procédure incorrecte.

Au mieu qu'il mette un msgbox pour dire qu'il n'en a pas trouvé.

Je pense qu'il ya peut etre l'utilité de mettre Else. En faite si la condition n'est pas réunie ne pas lancer le code en dessous et annonce avec un msgbox qu'il n'a pas trouvé de référence de type L.

Voici la base de mon vba.

Set fb = Sheets("Disponibilite_Composant fichier") 'Va chercher dans l'onglet disponibilite composant fichier

Set fc = Sheets("Controle réception") ' Faire les modifs sur l'onglet "Controle réception"

tablo = fb.Range("A2:Z" & fb.Range("A" & Rows.Count).End(xlUp).Row)

Application.ScreenUpdating = False

k = 0

For i = 1 To UBound(tablo, 1)

If UCase(tablo(i, 22)) = "L" Then 'Va chercher dans la colonne 22 soit 'V' si elle trouve la valeur L

ReDim Preserve tabloR(1 To 27, 1 To k + 1)

For j = 1 To 27

If j = 27 Then

If tabloR(26, k + 1) = "VRAI" Then 'classe si VRAI en priorité puis après par date croissante

tabloR(j, k + 1) = Chr$(&HFE): GoTo 1

Else

tabloR(j, k + 1) = Chr$(&HA8): GoTo 1

End If

End If

merci à vous tous

l

Bonjour,

Pourriez-vous joindre votre fichier excel ?

Bonjour,

voici un fichier exemplee

si le premier onglet le listing est vide pas de soucis car le msgbox coupe l'herbe sous le pied. Mais si vous mettez tous sauf du L dans la colonne V. Alors sur l'onglet controle réception quand vous allez cliquez sur Récaplist message d'erreur. In versement vous mettez que des L dans le premier listing , pour l'onglet attendue réception après cliquer sur récap liste il ya un message d'erreur.

Je donne une piste:

Grosso modo pour les module 1 et 2 . Il faudrait modifier le programme apres sub recap .lorsqu'on clique le bouton RECAP LISTE Il faut que excel scanne la colonne V dans longlet disponibilité composant. si il trouve pas un L au minimum alors m il met un message et pour le module 1. Et pour le module 2 même principe mais critère différents : il faut qu'il trouve n'importe quoi sauf le L et les blancs si pas trouvé alors renvois message d'erreur pas trouvé avec un message fonction msgbox

merci davacnce

Bonjour,

à tester,

   '....
    Set fb = Sheets("Disponibilite_Composant fichier")    'Va chercher dans l'onglet disponibilite composant fichier
    Set fc = Sheets("Controle réception")    ' Faire les modifs sur l'onglet "Controle réception"

    vérif = Application.CountIf(fb.Range("V:V"), "L")
    If vérif = 0 Then MsgBox "aucun L": Exit Sub
    '....

Bonjour SabV!

Merci de ton aide.

J'ai modifié comme tu m'as dis mais malheureusement celà ne fonctionne toujours pas . Je t'ai joint le fichier avec la modif effectué.

bonne journée,

Fabrice

qu'est ce qui ne fonctionne pas ?

Oups

Lorsque que pour le 2eme onglet on clique sur le bouton recap il ne trouve pas le critère L dans la colonne V du premier onglet erreur de macro Excel. Aprrs quand jinclis ton code sa marche pas j'ai une autre erreur.

A bientôt

prrs quand jinclis ton code sa marche pas j'ai une autre erreur.

quel est cette autre erreur ?

Erreur de compilation

Variable non définie

voir jpg joint

cdt

erreur1

vous avez mis Option Explicit dans le haut du module,

cela oblige à déclarer toutes les variables

il vous faut ajouter

Dim vérif As Integer

Un grand merci SABV sa marche! Parfait!

Par contre pour mon autre onglet j'ai besoin de mettre en condition avec au moins une lettre de trouvé à la place du "L" en critère. En faite il devra trouver au moins une lettre alphabet sauf le L . Sinon il met un message d'erreur comme si dessous.

pour le premier onglet c'est donc ok :

vérif = Application.CountIf(fb.Range("V:V"), "L")

Pour le deuxième onglet sa serait du type :

vérif = Application.CountIf(fb.Range("V:V"), "A OU B OU C OU D OU E OU F OU H OU I OU H OU J OU K OU M OU N OU O OU P OU Q OU R OU S OU T OU U OU V OU W OU X OU Y OU Z ") il doit trouver une des lettres (sauf le L ou le blanc sinon message d'erreur)

Merci d'avance

Bonjour,

voici un exemple,

lettre = Array("A", "B", "C", "D", "E", "F", "H", "I", "H", "J", "K", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
    For n = LBound(lettre) To UBound(lettre)
     vérif = Application.CountIf(fb.Range("V:V"), lettre(n))
     If vérif = 0 Then
       MsgBox "aucun " & lettre(n)
     Else
       MsgBox vérif & " - " & lettre(n) & "  trouvés"
     End If
    Next n

Bonjour,

Merci de votre aide.

J'ai copié comme le précédent votre code sous le même ordre.

J'ai le message erreur de compilation : Variable non définie

Peut être encore un problème dans l'entête ?

J'ai essayé de faire des modifs autour mais je ne vois pas.

Voici la capture d'écran.

Merci d'avance,

Bonne journée

erreur2 erreur3

il faut déclarer les variables,

Dim lettre, n As Integer 

Bonsoir,

Merci de ta participation. problème résolu.

bonne soirée

Rechercher des sujets similaires à "vba trouve pas reference ouvre msg dire"