Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro Rechercher pose PB si chiffre non Trouvé

22 réponses
Avatar
lograd
Bonjour,
j'ai une macro qui me permet d'effectuer une recherche sur la colonne
"A" de ma Feuille "CEU".
J' ai une erreur lorsque celle-ci ne trouve pas le chiffre demander, au
lieu de mettre : "Pas trouv=E9".
Si quelqu'un d'expert, et je sais qu'il y en a, peu m'aider, merci.

Apr=E8s debbogage la ligne : ' If UCase(Cel) =3D UCase(Str_crit=E8re) Then
' est en jaune.

Sub Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_crit=E8re As String
Dim X As Byte

Str_Plage =3D "A3:A65536"
Str_crit=E8re =3D InputBox("CEU =E0 rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) =3D UCase(Str_crit=E8re) Then
X =3D MsgBox("CEU """ & Str_crit=E8re & """ trouv=E9 :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"=E0 l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arr=EAte la recherche et on y va" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arr=EAte la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "MOT TROUV=C9")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=3D7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
Next Feuil
MsgBox ("pas trouv=E9")
End Sub

10 réponses

1 2 3
Avatar
Daniel
Bonjour.
Ta macro s'exécute normalement chez moi.
Quelles sont les valeurs de Str_critère et de la cellule au moment du
plantage ?
Cordialement.
Daniel
"lograd" a écrit dans le message de news:

Bonjour,
j'ai une macro qui me permet d'effectuer une recherche sur la colonne
"A" de ma Feuille "CEU".
J' ai une erreur lorsque celle-ci ne trouve pas le chiffre demander, au
lieu de mettre : "Pas trouvé".
Si quelqu'un d'expert, et je sais qu'il y en a, peu m'aider, merci.

Après debbogage la ligne : ' If UCase(Cel) = UCase(Str_critère) Then
' est en jaune.

Sub Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte

Str_Plage = "A3:A65536"
Str_critère = InputBox("CEU à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) = UCase(Str_critère) Then
X = MsgBox("CEU """ & Str_critère & """ trouvé :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"à l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche et on y va" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arrête la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "MOT TROUVÉ")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
Next Feuil
MsgBox ("pas trouvé")
End Sub
Avatar
lograd
Bonjour Daniel,

en fait dans ma colonne A les chiffres proviennent d'une autre cellule.
je m'explique:
En colonne I il y a une serie de formule et en colonne J aussi.
Mes chiffres de la colonne A proviennent de J, de la maniere suivante :
A3=J3 ; A4=J4 etc..
EN I : I3=si(F2>0;125;"") reference de depart pour n° auto en colonne
A.
Puis I4=si(F3>0;A3+1;"") , I5=si(F4>0;A4+1;"") etc.
Enfin en J : En J3 =TEXTE(I3;"00000") , en I4 =TEXTE(I4;"00000") etc
D'ou en A3=J3 ; A4=J4.
Pourquoi tout cela car je dois avoir des chiffres de la forme "00125"
en colonne A.
Merci de ton aide.
En esperant que tu es compris.



Bonjour.
Ta macro s'exécute normalement chez moi.
Quelles sont les valeurs de Str_critère et de la cellule au moment du
plantage ?
Cordialement.
Daniel
"lograd" a écrit dans le message de news:

Bonjour,
j'ai une macro qui me permet d'effectuer une recherche sur la colonne
"A" de ma Feuille "CEU".
J' ai une erreur lorsque celle-ci ne trouve pas le chiffre demander, au
lieu de mettre : "Pas trouvé".
Si quelqu'un d'expert, et je sais qu'il y en a, peu m'aider, merci.

Après debbogage la ligne : ' If UCase(Cel) = UCase(Str_critère) Then
' est en jaune.

Sub Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte

Str_Plage = "A3:A65536"
Str_critère = InputBox("CEU à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) = UCase(Str_critère) Then
X = MsgBox("CEU """ & Str_critère & """ trouvé :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"à l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche et on y va" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arrête la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "MOT TROUVÉ")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
Next Feuil
MsgBox ("pas trouvé")
End Sub


Avatar
Daniel
Avant la ligne :
If UCase(Cel) = UCase(Str_critère) Then
Mets :
Var1=UCase(Cel)
Var2=UCase(Str_critère)
Quand la macro plante, relève les valeurs de Var1 et Var2 et reviens les
poster.
Daniel
"lograd" a écrit dans le message de news:

Bonjour Daniel,

en fait dans ma colonne A les chiffres proviennent d'une autre cellule.
je m'explique:
En colonne I il y a une serie de formule et en colonne J aussi.
Mes chiffres de la colonne A proviennent de J, de la maniere suivante :
A3=J3 ; A4=J4 etc..
EN I : I3=si(F2>0;125;"") reference de depart pour n° auto en colonne
A.
Puis I4=si(F3>0;A3+1;"") , I5=si(F4>0;A4+1;"") etc.
Enfin en J : En J3 =TEXTE(I3;"00000") , en I4 =TEXTE(I4;"00000") etc
D'ou en A3=J3 ; A4=J4.
Pourquoi tout cela car je dois avoir des chiffres de la forme "00125"
en colonne A.
Merci de ton aide.
En esperant que tu es compris.



Bonjour.
Ta macro s'exécute normalement chez moi.
Quelles sont les valeurs de Str_critère et de la cellule au moment du
plantage ?
Cordialement.
Daniel
"lograd" a écrit dans le message de news:

Bonjour,
j'ai une macro qui me permet d'effectuer une recherche sur la colonne
"A" de ma Feuille "CEU".
J' ai une erreur lorsque celle-ci ne trouve pas le chiffre demander, au
lieu de mettre : "Pas trouvé".
Si quelqu'un d'expert, et je sais qu'il y en a, peu m'aider, merci.

Après debbogage la ligne : ' If UCase(Cel) = UCase(Str_critère) Then
' est en jaune.

Sub Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte

Str_Plage = "A3:A65536"
Str_critère = InputBox("CEU à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) = UCase(Str_critère) Then
X = MsgBox("CEU """ & Str_critère & """ trouvé :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"à l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche et on y va" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arrête la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "MOT TROUVÉ")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
Next Feuil
MsgBox ("pas trouvé")
End Sub


Avatar
lograd
Merci Daniel,
je vais de suite exécuter ce que tu ma demandé.


Avant la ligne :
If UCase(Cel) = UCase(Str_critère) Then
Mets :
Var1=UCase(Cel)
Var2=UCase(Str_critère)
Quand la macro plante, relève les valeurs de Var1 et Var2 et reviens les
poster.
Daniel
"lograd" a écrit dans le message de news:

Bonjour Daniel,

en fait dans ma colonne A les chiffres proviennent d'une autre cellule.
je m'explique:
En colonne I il y a une serie de formule et en colonne J aussi.
Mes chiffres de la colonne A proviennent de J, de la maniere suivante :
A3=J3 ; A4=J4 etc..
EN I : I3=si(F2>0;125;"") reference de depart pour n° auto en colonne
A.
Puis I4=si(F3>0;A3+1;"") , I5=si(F4>0;A4+1;"") etc.
Enfin en J : En J3 =TEXTE(I3;"00000") , en I4 =TEXTE(I4;"00000") etc
D'ou en A3=J3 ; A4=J4.
Pourquoi tout cela car je dois avoir des chiffres de la forme "00125"
en colonne A.
Merci de ton aide.
En esperant que tu es compris.



Bonjour.
Ta macro s'exécute normalement chez moi.
Quelles sont les valeurs de Str_critère et de la cellule au moment du
plantage ?
Cordialement.
Daniel
"lograd" a écrit dans le message de news:

Bonjour,
j'ai une macro qui me permet d'effectuer une recherche sur la colonne
"A" de ma Feuille "CEU".
J' ai une erreur lorsque celle-ci ne trouve pas le chiffre demander, au
lieu de mettre : "Pas trouvé".
Si quelqu'un d'expert, et je sais qu'il y en a, peu m'aider, merci.

Après debbogage la ligne : ' If UCase(Cel) = UCase(Str_critère) T hen
' est en jaune.

Sub Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte

Str_Plage = "A3:A65536"
Str_critère = InputBox("CEU à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) = UCase(Str_critère) Then
X = MsgBox("CEU """ & Str_critère & """ trouvé :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"à l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche et on y va" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arrête la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "MOT TROUVÉ")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
Next Feuil
MsgBox ("pas trouvé")
End Sub




Avatar
lograd
J'ai bien placé les deux lignes
Var1=UCase(Cel)
Var2=UCase(Str_critère)
avant If UCase(Cel) = UCase(Str_critère) Then
et voila le message d'erreur:
"Erreur d'execution 13
incompatibilité de type"
et c'est tout.
Ou veux tu que je releve les valeurs VAR1 et VAR2 lorsque cela plante ?
Merci.Je patoge un peu :)




Avant la ligne :
If UCase(Cel) = UCase(Str_critère) Then
Mets :
Var1=UCase(Cel)
Var2=UCase(Str_critère)
Quand la macro plante, relève les valeurs de Var1 et Var2 et reviens les
poster.
Daniel
"lograd" a écrit dans le message de news:

Bonjour Daniel,

en fait dans ma colonne A les chiffres proviennent d'une autre cellule.
je m'explique:
En colonne I il y a une serie de formule et en colonne J aussi.
Mes chiffres de la colonne A proviennent de J, de la maniere suivante :
A3=J3 ; A4=J4 etc..
EN I : I3=si(F2>0;125;"") reference de depart pour n° auto en colonne
A.
Puis I4=si(F3>0;A3+1;"") , I5=si(F4>0;A4+1;"") etc.
Enfin en J : En J3 =TEXTE(I3;"00000") , en I4 =TEXTE(I4;"00000") etc
D'ou en A3=J3 ; A4=J4.
Pourquoi tout cela car je dois avoir des chiffres de la forme "00125"
en colonne A.
Merci de ton aide.
En esperant que tu es compris.



Bonjour.
Ta macro s'exécute normalement chez moi.
Quelles sont les valeurs de Str_critère et de la cellule au moment du
plantage ?
Cordialement.
Daniel
"lograd" a écrit dans le message de news:

Bonjour,
j'ai une macro qui me permet d'effectuer une recherche sur la colonne
"A" de ma Feuille "CEU".
J' ai une erreur lorsque celle-ci ne trouve pas le chiffre demander, au
lieu de mettre : "Pas trouvé".
Si quelqu'un d'expert, et je sais qu'il y en a, peu m'aider, merci.

Après debbogage la ligne : ' If UCase(Cel) = UCase(Str_critère) T hen
' est en jaune.

Sub Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte

Str_Plage = "A3:A65536"
Str_critère = InputBox("CEU à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) = UCase(Str_critère) Then
X = MsgBox("CEU """ & Str_critère & """ trouvé :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"à l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche et on y va" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arrête la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "MOT TROUVÉ")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
Next Feuil
MsgBox ("pas trouvé")
End Sub




Avatar
Daniel
Dans l'éditeur Visual Basic, clique sur Affichage / Fenêtre variables
locales. Tu obtiens une nouvelle fenêtre affichant la valeur de tes
variables. Tu peux également positionner le curseur de la souris (sans
cliquer), dans le code, sur la variable dont tu veux connaître la valeur.
Daniel
"lograd" a écrit dans le message de news:

J'ai bien placé les deux lignes
Var1=UCase(Cel)
Var2=UCase(Str_critère)
avant If UCase(Cel) = UCase(Str_critère) Then
et voila le message d'erreur:
"Erreur d'execution 13
incompatibilité de type"
et c'est tout.
Ou veux tu que je releve les valeurs VAR1 et VAR2 lorsque cela plante ?
Merci.Je patoge un peu :)




Avant la ligne :
If UCase(Cel) = UCase(Str_critère) Then
Mets :
Var1=UCase(Cel)
Var2=UCase(Str_critère)
Quand la macro plante, relève les valeurs de Var1 et Var2 et reviens les
poster.
Daniel
"lograd" a écrit dans le message de news:

Bonjour Daniel,

en fait dans ma colonne A les chiffres proviennent d'une autre cellule.
je m'explique:
En colonne I il y a une serie de formule et en colonne J aussi.
Mes chiffres de la colonne A proviennent de J, de la maniere suivante :
A3=J3 ; A4=J4 etc..
EN I : I3=si(F2>0;125;"") reference de depart pour n° auto en colonne
A.
Puis I4=si(F3>0;A3+1;"") , I5=si(F4>0;A4+1;"") etc.
Enfin en J : En J3 =TEXTE(I3;"00000") , en I4 =TEXTE(I4;"00000") etc
D'ou en A3=J3 ; A4=J4.
Pourquoi tout cela car je dois avoir des chiffres de la forme "00125"
en colonne A.
Merci de ton aide.
En esperant que tu es compris.



Bonjour.
Ta macro s'exécute normalement chez moi.
Quelles sont les valeurs de Str_critère et de la cellule au moment du
plantage ?
Cordialement.
Daniel
"lograd" a écrit dans le message de news:

Bonjour,
j'ai une macro qui me permet d'effectuer une recherche sur la colonne
"A" de ma Feuille "CEU".
J' ai une erreur lorsque celle-ci ne trouve pas le chiffre demander, au
lieu de mettre : "Pas trouvé".
Si quelqu'un d'expert, et je sais qu'il y en a, peu m'aider, merci.

Après debbogage la ligne : ' If UCase(Cel) = UCase(Str_critère) Then
' est en jaune.

Sub Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte

Str_Plage = "A3:A65536"
Str_critère = InputBox("CEU à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) = UCase(Str_critère) Then
X = MsgBox("CEU """ & Str_critère & """ trouvé :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"à l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche et on y va" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arrête la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "MOT TROUVÉ")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
Next Feuil
MsgBox ("pas trouvé")
End Sub




Avatar
lograd
Les valeurs de :
: Var1 : "VRAI" : Variant/String
: Var2 : "00140" : Variant/String

En espérant que cela t'aide à m'aider.


Dans l'éditeur Visual Basic, clique sur Affichage / Fenêtre variables
locales. Tu obtiens une nouvelle fenêtre affichant la valeur de tes
variables. Tu peux également positionner le curseur de la souris (sans
cliquer), dans le code, sur la variable dont tu veux connaître la valeu r.
Daniel
"lograd" a écrit dans le message de news:

J'ai bien placé les deux lignes
Var1=UCase(Cel)
Var2=UCase(Str_critère)
avant If UCase(Cel) = UCase(Str_critère) Then
et voila le message d'erreur:
"Erreur d'execution 13
incompatibilité de type"
et c'est tout.
Ou veux tu que je releve les valeurs VAR1 et VAR2 lorsque cela plante ?
Merci.Je patoge un peu :)




Avant la ligne :
If UCase(Cel) = UCase(Str_critère) Then
Mets :
Var1=UCase(Cel)
Var2=UCase(Str_critère)
Quand la macro plante, relève les valeurs de Var1 et Var2 et reviens les
poster.
Daniel
"lograd" a écrit dans le message de news:

Bonjour Daniel,

en fait dans ma colonne A les chiffres proviennent d'une autre cellule.
je m'explique:
En colonne I il y a une serie de formule et en colonne J aussi.
Mes chiffres de la colonne A proviennent de J, de la maniere suivante :
A3=J3 ; A4=J4 etc..
EN I : I3=si(F2>0;125;"") reference de depart pour n° auto en colon ne
A.
Puis I4=si(F3>0;A3+1;"") , I5=si(F4>0;A4+1;"") etc.
Enfin en J : En J3 =TEXTE(I3;"00000") , en I4 =TEXTE(I4;"00000") etc
D'ou en A3=J3 ; A4=J4.
Pourquoi tout cela car je dois avoir des chiffres de la forme "00125"
en colonne A.
Merci de ton aide.
En esperant que tu es compris.



Bonjour.
Ta macro s'exécute normalement chez moi.
Quelles sont les valeurs de Str_critère et de la cellule au moment du
plantage ?
Cordialement.
Daniel
"lograd" a écrit dans le message de news:

Bonjour,
j'ai une macro qui me permet d'effectuer une recherche sur la colonne
"A" de ma Feuille "CEU".
J' ai une erreur lorsque celle-ci ne trouve pas le chiffre demander, au
lieu de mettre : "Pas trouvé".
Si quelqu'un d'expert, et je sais qu'il y en a, peu m'aider, merci.

Après debbogage la ligne : ' If UCase(Cel) = UCase(Str_critère) Then
' est en jaune.

Sub Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte

Str_Plage = "A3:A65536"
Str_critère = InputBox("CEU à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) = UCase(Str_critère) Then
X = MsgBox("CEU """ & Str_critère & """ trouvé :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"à l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche et on y va" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arrête la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "MOT TROUVÉ")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
Next Feuil
MsgBox ("pas trouvé")
End Sub






Avatar
Daniel
L'erreur vient de la cellule qui a pour valeur "VRAI". Pour la localiser
Ajoute Var3Îl.address
après Var2=UCase(Str_critère)
Cela va te donner l'adresse de la cellule qui fait planter.
Il te restera à savoir pourquoi elle a cette valeur.
Daniel
"lograd" a écrit dans le message de news:

Les valeurs de :
: Var1 : "VRAI" : Variant/String
: Var2 : "00140" : Variant/String

En espérant que cela t'aide à m'aider.


Dans l'éditeur Visual Basic, clique sur Affichage / Fenêtre variables
locales. Tu obtiens une nouvelle fenêtre affichant la valeur de tes
variables. Tu peux également positionner le curseur de la souris (sans
cliquer), dans le code, sur la variable dont tu veux connaître la valeur.
Daniel
"lograd" a écrit dans le message de news:

J'ai bien placé les deux lignes
Var1=UCase(Cel)
Var2=UCase(Str_critère)
avant If UCase(Cel) = UCase(Str_critère) Then
et voila le message d'erreur:
"Erreur d'execution 13
incompatibilité de type"
et c'est tout.
Ou veux tu que je releve les valeurs VAR1 et VAR2 lorsque cela plante ?
Merci.Je patoge un peu :)




Avant la ligne :
If UCase(Cel) = UCase(Str_critère) Then
Mets :
Var1=UCase(Cel)
Var2=UCase(Str_critère)
Quand la macro plante, relève les valeurs de Var1 et Var2 et reviens les
poster.
Daniel
"lograd" a écrit dans le message de news:

Bonjour Daniel,

en fait dans ma colonne A les chiffres proviennent d'une autre cellule.
je m'explique:
En colonne I il y a une serie de formule et en colonne J aussi.
Mes chiffres de la colonne A proviennent de J, de la maniere suivante :
A3=J3 ; A4=J4 etc..
EN I : I3=si(F2>0;125;"") reference de depart pour n° auto en colonne
A.
Puis I4=si(F3>0;A3+1;"") , I5=si(F4>0;A4+1;"") etc.
Enfin en J : En J3 =TEXTE(I3;"00000") , en I4 =TEXTE(I4;"00000") etc
D'ou en A3=J3 ; A4=J4.
Pourquoi tout cela car je dois avoir des chiffres de la forme "00125"
en colonne A.
Merci de ton aide.
En esperant que tu es compris.



Bonjour.
Ta macro s'exécute normalement chez moi.
Quelles sont les valeurs de Str_critère et de la cellule au moment du
plantage ?
Cordialement.
Daniel
"lograd" a écrit dans le message de news:

Bonjour,
j'ai une macro qui me permet d'effectuer une recherche sur la colonne
"A" de ma Feuille "CEU".
J' ai une erreur lorsque celle-ci ne trouve pas le chiffre demander,
au
lieu de mettre : "Pas trouvé".
Si quelqu'un d'expert, et je sais qu'il y en a, peu m'aider, merci.

Après debbogage la ligne : ' If UCase(Cel) = UCase(Str_critère) Then
' est en jaune.

Sub Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte

Str_Plage = "A3:A65536"
Str_critère = InputBox("CEU à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) = UCase(Str_critère) Then
X = MsgBox("CEU """ & Str_critère & """ trouvé :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"à l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche et on y va" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arrête la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "MOT TROUVÉ")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
Next Feuil
MsgBox ("pas trouvé")
End Sub






Avatar
lograd
En plus la valeur:
: Str_critère : "00140" : String

Par contre Lorsque je met un chiffre qui existe ma macro fonctionne
très bien, de même
si je ne met rien.


Les valeurs de :
: Var1 : "VRAI" : Variant/String
: Var2 : "00140" : Variant/String

En espérant que cela t'aide à m'aider.


Dans l'éditeur Visual Basic, clique sur Affichage / Fenêtre variabl es
locales. Tu obtiens une nouvelle fenêtre affichant la valeur de tes
variables. Tu peux également positionner le curseur de la souris (sans
cliquer), dans le code, sur la variable dont tu veux connaître la val eur.
Daniel
"lograd" a écrit dans le message de news:

J'ai bien placé les deux lignes
Var1=UCase(Cel)
Var2=UCase(Str_critère)
avant If UCase(Cel) = UCase(Str_critère) Then
et voila le message d'erreur:
"Erreur d'execution 13
incompatibilité de type"
et c'est tout.
Ou veux tu que je releve les valeurs VAR1 et VAR2 lorsque cela plante ?
Merci.Je patoge un peu :)




Avant la ligne :
If UCase(Cel) = UCase(Str_critère) Then
Mets :
Var1=UCase(Cel)
Var2=UCase(Str_critère)
Quand la macro plante, relève les valeurs de Var1 et Var2 et revien s les
poster.
Daniel
"lograd" a écrit dans le message de news:

Bonjour Daniel,

en fait dans ma colonne A les chiffres proviennent d'une autre cellul e.
je m'explique:
En colonne I il y a une serie de formule et en colonne J aussi.
Mes chiffres de la colonne A proviennent de J, de la maniere suivante :
A3=J3 ; A4=J4 etc..
EN I : I3=si(F2>0;125;"") reference de depart pour n° auto en col onne
A.
Puis I4=si(F3>0;A3+1;"") , I5=si(F4>0;A4+1;"") etc.
Enfin en J : En J3 =TEXTE(I3;"00000") , en I4 =TEXTE(I4;"00000") etc
D'ou en A3=J3 ; A4=J4.
Pourquoi tout cela car je dois avoir des chiffres de la forme "00125"
en colonne A.
Merci de ton aide.
En esperant que tu es compris.



Bonjour.
Ta macro s'exécute normalement chez moi.
Quelles sont les valeurs de Str_critère et de la cellule au momen t du
plantage ?
Cordialement.
Daniel
"lograd" a écrit dans le message de new s:

Bonjour,
j'ai une macro qui me permet d'effectuer une recherche sur la colon ne
"A" de ma Feuille "CEU".
J' ai une erreur lorsque celle-ci ne trouve pas le chiffre demander , au
lieu de mettre : "Pas trouvé".
Si quelqu'un d'expert, et je sais qu'il y en a, peu m'aider, merci.

Après debbogage la ligne : ' If UCase(Cel) = UCase(Str_critèr e) Then
' est en jaune.

Sub Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte

Str_Plage = "A3:A65536"
Str_critère = InputBox("CEU à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) = UCase(Str_critère) Then
X = MsgBox("CEU """ & Str_critère & """ trouvé :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"à l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche et on y va" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arrête la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "MOT TROUVÉ")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
Next Feuil
MsgBox ("pas trouvé")
End Sub








Avatar
lograd
OK, je regarde.
Encore merci pour tes lumieres.


L'erreur vient de la cellule qui a pour valeur "VRAI". Pour la localiser
Ajoute Var3Îl.address
après Var2=UCase(Str_critère)
Cela va te donner l'adresse de la cellule qui fait planter.
Il te restera à savoir pourquoi elle a cette valeur.
Daniel
"lograd" a écrit dans le message de news:

Les valeurs de :
: Var1 : "VRAI" : Variant/String
: Var2 : "00140" : Variant/String

En espérant que cela t'aide à m'aider.


Dans l'éditeur Visual Basic, clique sur Affichage / Fenêtre variabl es
locales. Tu obtiens une nouvelle fenêtre affichant la valeur de tes
variables. Tu peux également positionner le curseur de la souris (sans
cliquer), dans le code, sur la variable dont tu veux connaître la val eur.
Daniel
"lograd" a écrit dans le message de news:

J'ai bien placé les deux lignes
Var1=UCase(Cel)
Var2=UCase(Str_critère)
avant If UCase(Cel) = UCase(Str_critère) Then
et voila le message d'erreur:
"Erreur d'execution 13
incompatibilité de type"
et c'est tout.
Ou veux tu que je releve les valeurs VAR1 et VAR2 lorsque cela plante ?
Merci.Je patoge un peu :)




Avant la ligne :
If UCase(Cel) = UCase(Str_critère) Then
Mets :
Var1=UCase(Cel)
Var2=UCase(Str_critère)
Quand la macro plante, relève les valeurs de Var1 et Var2 et revien s les
poster.
Daniel
"lograd" a écrit dans le message de news:

Bonjour Daniel,

en fait dans ma colonne A les chiffres proviennent d'une autre cellul e.
je m'explique:
En colonne I il y a une serie de formule et en colonne J aussi.
Mes chiffres de la colonne A proviennent de J, de la maniere suivante :
A3=J3 ; A4=J4 etc..
EN I : I3=si(F2>0;125;"") reference de depart pour n° auto en col onne
A.
Puis I4=si(F3>0;A3+1;"") , I5=si(F4>0;A4+1;"") etc.
Enfin en J : En J3 =TEXTE(I3;"00000") , en I4 =TEXTE(I4;"00000") etc
D'ou en A3=J3 ; A4=J4.
Pourquoi tout cela car je dois avoir des chiffres de la forme "00125"
en colonne A.
Merci de ton aide.
En esperant que tu es compris.



Bonjour.
Ta macro s'exécute normalement chez moi.
Quelles sont les valeurs de Str_critère et de la cellule au momen t du
plantage ?
Cordialement.
Daniel
"lograd" a écrit dans le message de new s:

Bonjour,
j'ai une macro qui me permet d'effectuer une recherche sur la colon ne
"A" de ma Feuille "CEU".
J' ai une erreur lorsque celle-ci ne trouve pas le chiffre demander,
au
lieu de mettre : "Pas trouvé".
Si quelqu'un d'expert, et je sais qu'il y en a, peu m'aider, merci.

Après debbogage la ligne : ' If UCase(Cel) = UCase(Str_critèr e) Then
' est en jaune.

Sub Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte

Str_Plage = "A3:A65536"
Str_critère = InputBox("CEU à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) = UCase(Str_critère) Then
X = MsgBox("CEU """ & Str_critère & """ trouvé :" & Chr(13) & _
"Sur la feuille : " & Feuil.Name & Chr(13) & _
"à l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche et on y va" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arrête la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "MOT TROUVÉ")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
Next Feuil
MsgBox ("pas trouvé")
End Sub








1 2 3