Erreur Objet requis

Bonjour à vous tous,

J'ai un petit souci.

Lorsque j'exécute le code ci-après, j'obtiens le message d'erreur "Objet requis" après Activate. Pouvez-vous s.v.p., m'aider ? Je ne sais pas quoi faire. Merci à vous tous. DanPom

Sub chercher() Dim a As Range Set a = Range("A:A").Find(Range("A1").Value, lookat:=xlWhole).Activate

Bonsoir,

Il me semble qu'il te faudrait au préalable activer la feuille qui contient les cellules concernées ... à voir

Exemple
Worksheets("Sheet1").Activate 
Range("A1:C3").Select 
Range("B2").Activate

Bonne soirée

Jacky

Bonsoir,

Et comme ça?:

Sub chercher()
Dim a As Range
Set a = Application.Range("A:A").Find(Range("A1").Value, lookat:=xlWhole).Activate
End Sub

Yves

Bonjour Yves,

Merci pour ta réponse. J'obtiens malheuresement le message d'erreur suivant, soit : Variable Objet ou de bloc With non défini.

Je suis embêté.

Bonsoir,

lors d'une attribution "Set" je crois qu'il ne faut pas activer :

Sub chercher()
Dim a As Range
Set a = Application.Range("A:A").Find(Range("A1").Value, lookat:=xlWhole)
a.Activate
End Sub

@ bientôt

LouReeD

Bonsoir Jacky,

Malheureusement, ça ne fonctionne pas.

J'ai en A1 sur la feuille B, le nombre 6 qui provient d'une cellule de la feuille A. Ce nombre sera changeant avec le temps.

Dans la plage A5:A1000 de la feuille B, j'ai actuellement des nombres de 1 à 6 mais il va y en avoir éventuelleement des centaines.

Je cherche une code VBA qui va sélectionner dans la colonne A de la feuille B, la cellule ayant le nombre 6 et l'activer.

Avez-vous une idée comment faire sd.v.p. ?

Merci,
DanPom

bonsoir

range est une propriété définie sur une feuille donc (non testé)

Sub chercher()
    Dim a As Range
    Set a = Sheets("A").Range("A:A").Find(Sheets("B").Range("A1").Value, lookat:=xlWhole)
    If Not a Is Nothing Then
        Sheets("A").Select
        a.Select
    End If
End Sub

D'accord avec vous acide !

D'ailleurs ce n'était pas ma volonté de marquer "application". Ceci dit voir le fichier joint, la feuille une avec la valeur en dur en A1, ou bien la feuille 2 avec un report de valeur avec une formule, dans les deux cas avec application cela fonctionne sur la feuille active :

4essai-lrd.xlsm (18.46 Ko)

@ bientôt

LouReeD

Bonsoir,

Merci à vous tous. Mes erreurs étaient :

La cellule A1 de la feuille B contenait une formule soit Feuille A = P16, ce qui donne le nombre 6, et la cellule A10 contenait aussi une formule soit Ligne(10:10)-4 ce qui donne le nombre 6.

J'ai remplacé les fromule par des nombre et le tout fonctionne.

Voici donc mon code corrigé :

Sub Modifier_Les_Données_Dans_Reg_ESC() ' ' Copier la valeur de la cellule P16 Sheets("Paiement reçu").Select Range("P16").Select Selection.Copy ' Sélectionner la feuille Registre des ESC Sheets("Registre des ESC").Select Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Dim a As Range Set a = Application.Range("A:A").Find(Range("A1").Value, lookat:=xlWhole) a.Select Selection.Offset(0, 1).Activate ' Copier les nouvelles données du formulaire Paiement reçu Sheets("Paiement reçu").Select Range("Q16:DH16").Select Selection.Copy Range("A1").Select ' Sélectionner la feuille Registre des ESC Sheets("Registre des ESC").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A4").Select End Sub

Merci à vous tous,

Dan Pom

Bonsoir,

moi ce que je vois dans ce méli mélo de code, c'est :
Set a = Application.Range("A:A").Find(Range("A1").Value, lookat:=xlWhole)
a.Select

l'erreur est je pense surtout du au fait d'utiliser SET avec une référence à laquelle on a voulue activée.
Le fichier que j'ai fourni, dans un des cas c'est une formule dans l'autre non et ça fonctionne, non ?

Berf, merci de votre retour et de vos remerciements !

@ bientôt

LouReeD

Rechercher des sujets similaires à "erreur objet requis"