Rechercher une valeur dans une colonne

cap24 Messages postés 3 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 3 décembre 2013 - 3 déc. 2013 à 19:24
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 3 déc. 2013 à 21:45
Bonsoir, dans un tableau EXCEL je veux rechercher une valeur bien precise dans colonne A et selectionner puis copier la ligne concernée . J'utilise dejà une procédure semblable dans un autre module de cette application et elle fonctionne.
Mais pour cette deuxième procédure rien à faire, j'ai toujours le message d'erreur: erreur 91, variable objet ou variable de bloc with non definie.

mon code:
Dim columns As Range
Dim ligne As Range
Dim cherche As Long


Application.ScreenUpdating = False

Worksheets("numerotation").Select
cherche = Range("r1").Value
If cherche.Value = "" Then
MsgBox "La ligne sélectionnée est vide", vbOK
Sheets("Accueil").Select.Range("c1").Select
End If

columns("a:a").Select
Selection.Find(what:=Place, after:=ActiveCell, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=False).actvate
If Place.Value = Range("r1") Then
ActiveCell.EntireRow.Copy
Sheets("feuil1").Range("a2").Select
ActiveSheet.Paste
Si quelqu'un peut me conseiller............

2 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 déc. 2013 à 20:04
Bonjour,
déjà : on ne travaille pas à coup de "Select" , "activate" et examen de "selection", mais directement sur les objets Excel.
Tu cherches sans quoi et quoi ? ===>>>>
tu cherches dans la colonne A et tu y cherche une valeur (apparemment celle de ta cellule R1).
Ouvre ron aide VBA sur le mot Find (Range.Find) et lis ===>> tu y as ta réponse !
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
Modifié par jordane45 le 3/12/2013 à 21:47
Bonsoir,

Je pense déceler une erreur ici :
cherche = Range("r1").Value 
If cherche.Value = "" Then 

Retire le .Value après le mot cherche.


@ Ucfoutu : Tu as lus en travers je pense, L'utilisateur utilise Déjà le FIND.... :-(


NB: lorsque l'on a un message d'erreur, il est bon d'identifier à quelle ligne il se produit (via le mode pas à pas par exemple ) et éventuellement de l'indiquer dans sa question... [ mais là, je pense que tu aurais pu trouver tout seul le souci ]

Cordialement,
Jordane
0
Rejoignez-nous