Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
710 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Méthode find et propriété after

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Méthode find et propriété after

n°1936991
Takama13
Posté le 02-11-2009 à 11:56:15  profilanswer
 

Salut à tous http://www.clubic.com/forum/img/emoticons/hello.gif
 
J'utilise la méthode find dans une de mes macros mais je n'arrive pas à utiliser la propriété after. Excel me dit qu'il y a une incompatibilité de type.
Voici mon code (juste un extrait, pour ne pas surcharger) :
 
Code :
 
Set c = .Find(ComboBoxPOL.Value, MatchCase:=True)
sPOL = c.Offset(columnoffset:=1)
Set vLigne = .Find(Cel.Offset(columnoffset:=vPOD), MatchCase:=True, after:=sPOL)

 
(J'ai supprimé tous les "with" et codes intermédiaires pour lesquels ces variables n'entrent pas en compte).
 
Le problème semble être le code "after:=sPOL"
Si je supprime cette ligne, le code ne plante pas. Pourtant sPOL est bien un Range dans mon code :
la méthode find renvoie un Range, donc ma variable "c" est un Range
La propriété Offset renvoir un Range donc ma variable sPOL est un Range
 
Je ne comprends pas l'incompatibilité de type... http://www.clubic.com/api/forum/img/smiley/pascontent.gif


Message édité par Takama13 le 02-11-2009 à 11:58:28
mood
Publicité
Posté le 02-11-2009 à 11:56:15  profilanswer
 

n°1937039
olivthill
Posté le 02-11-2009 à 14:58:46  profilanswer
 

Doc :

Citation :

After     Argument de type Variant facultatif.  Cellule après laquelle vous souhaitez commencer la recherche. Cela correspond à la position de la cellule active lorsqu'une recherche est effectuée à partir de l'interface utilisateur. Notez que l'argument After doit correspondre à une seule cellule dans la plage. Rappelez-vous que la recherche commence après    cette cellule ; la cellule spécifiée n'est pas recherchée jusqu'à ce que la méthode reviennent à cette cellule. Si vous ne spécifiez pas cet argument, la recherche commence après la cellule située dans le coin supérieur gauche de la plage.


J'ai fait l'essai, et j'ai ele même mesage d'incompatibilité en remplaçant after:=sPOL par after:=Range("B1:B3" )
Par contre ça passe en écrivant after:=Range("B3" )

n°1937054
Takama13
Posté le 02-11-2009 à 15:40:40  profilanswer
 

C'est normal, il faut forcément ne désigner qu'une seule cellule, et non une plage.
Ce que je ne comprends pas, c'est pourquoi mon sPOL n'est pas considéré comme un Range...

n°1937917
Takama13
Posté le 05-11-2009 à 10:51:41  profilanswer
 

personne ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Méthode find et propriété after

 

Sujets relatifs
La methode Range de l'objet Worksheets a échouéMSDOS - redirection du resultat d'une commande find dans une variable
suppresion automatiquz d'une methodesuppresion automatique d'une methode de notre programme java
Entity Manager et Session beans methode d'update"cannot find symbol" d'un symbole défini...
Utilisation de la méthode CellsEreur : Could not find the main class
Erreur 1004: Méthode Open de l'objet workbook échouéeErreur 1004 : La methode 'Cells' de l'objet '_Global' a échoué
Plus de sujets relatifs à : Méthode find et propriété after


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR