> Tous les forumsBureautique

 problème macroSujet résolu
Statut du sujet : RESOLU Imprimer
 emanemos
  Posté le 06/06/2008 @ 12:04  
 Petit astucien

58 Messages

Bonjour,

dans une macro, j'ai mis la commande suivante :

Columns("F:F").Select
Selection.Find(What:="NOK", After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate

en résumé : Rechercher la valeur NOK dans la colonne F

Si j'ai un NOK dans la colonne F : pas de problème

Si je n'ai aucun NOK dans la colonne F : j'ai une erreur d'exécution

Variable objet ou variable de bloc With non définie

Comment éviter ce bug en visual basic ?

Merci pour votre contribution

 Afficher le profil de emanemosEnvoyer un message privé à emanemos
 
 
Publicité
 sourisdeservice  Posté le 06/06/2008 à 15:06  
  Maîtresse astucienne


19671 Messages

Bonjour,

C'est pas un BUG c'est de la programation mal conçue mais moi je sais pas répondre plus

Afficher le profil de sourisdeservice Voir la configuration de sourisdeserviceEnvoyer un message privé à sourisdeservice
 Revenir en haut de la page
 D-D-Du-06  Posté le 06/06/2008 à 22:38  
Petit astucien

73 Messages

Bonjour,

en attendant mieux (ou plus conforme à une "recherche"), une autre "macro" (un filtre en fait):

Sub NOK2()
Range("F1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="NOK"
End Sub

S'il n'y a pas de NOK, la liste est vide...

Voilà...

D D Du 06

Afficher le profil de D-D-Du-06Envoyer un message privé à D-D-Du-06
 Revenir en haut de la page
 D-D-Du-06  Posté le 06/06/2008 à 23:02  
Petit astucien

73 Messages

ReBonjour,

une "bidouille" plus conforme cette fois:

Sub verif()
Sheets("test").Select
Dim Cell As Range
Dim Acote, I
For Each Cell In Range("F1:F9900")
If Not Cell.Value = "" Then
For I = 6 To 6
If Cells(Cell.Row, I) = "NOK" Then
Columns("F:F").Select
Selection.Find(What:="NOK", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
End If
Next
End If
Next Cell

End Sub

Recherche NOK dans la colonne F de la feuille "test". Si pas de NOK, rien ne se passe...

Voilà...

A+

D D Du 06

Afficher le profil de D-D-Du-06Envoyer un message privé à D-D-Du-06
 Revenir en haut de la page
 Bérylion  Posté le 07/06/2008 à 01:03  
Astucien


2342 Messages
Message original par emanemos

Bonjour,

dans une macro, j'ai mis la commande suivante :

Columns("F:F").Select
Selection.Find(What:="NOK", After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate

en résumé : Rechercher la valeur NOK dans la colonne F

Si j'ai un NOK dans la colonne F : pas de problème

Si je n'ai aucun NOK dans la colonne F : j'ai une erreur d'exécution

Variable objet ou variable de bloc With non définie

Comment éviter ce bug en visual basic ?

Merci pour votre contribution



Salut

la syntaxe est correcte, même si je lui préfère celle-ci :

VBA excel
  1. Sub test()
  2. Set trouve = Columns("F:F").Find(What:="NOK", SearchFormat:=False)
  3. Range(trouve.Address).Activate
  4. End Sub

balance le code en entier,
paske c'est pas évident de travailler sur un bout code
depuis que notre fremen nationnal (salut l'ami) a paumé sa boule de cristal...



Afficher le profil de Bérylion Voir la configuration de BérylionEnvoyer un message privé à Bérylion
 Revenir en haut de la page
 galopin01  Posté le 07/06/2008 à 03:15  
Astucien

4324 Messages

Bonjour,

Fallait pas t'arrêter en si bon chemin :

Sub test()
Set trouve = Columns("F:F").Find("NOK")
If Not trouve Is Nothing Then trouve.Activate
End Sub

A+

Afficher le profil de galopin01 Voir la configuration de galopin01Envoyer un message privé à galopin01
 Revenir en haut de la page
 Bérylion  Posté le 07/06/2008 à 22:30  
Astucien


2342 Messages
galopin01 a écrit :

Bonjour,

Fallait pas t'arrêter en si bon chemin :

Sub test()
Set trouve = Columns("F:F").Find("NOK")
If Not trouve Is Nothing Then trouve.Activate
End Sub

A+




ouais, mais vu l'horaire après ma journée de 19 heures j'étais plus vraiment concentré...


Afficher le profil de Bérylion Voir la configuration de BérylionEnvoyer un message privé à Bérylion
 Revenir en haut de la page
 Boisgontier  Posté le 08/06/2008 à 07:05  
Petit astucien

14 Messages

Bonjour,

On Error Resume Next
Columns("F:F").Select
Selection.Find(What:="NOK", After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
If Err<>0 Then
Msgbox "Inconnu"
Else
Msgbox "Ok"
End if

http://boisgontierjacques.free.fr/pages_site/cellules.htm#find

JB

Afficher le profil de BoisgontierEnvoyer un message privé à Boisgontier
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsBureautique

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page