Laboratoire Microsoft |  Blog |  Webcast |  Students Club |  FaqXP  |  CertifExpress 
 Le Forum de Référence sur les Technologies Microsoft - http://www.forum-microsoft.org

VBScript & Excel et fonction Find

Modérateurs: Goran, Modérateurs_Divers

VBScript & Excel et fonction Find

Messagepar trax sur Ven 22 Aoû 2008, 15:50

Bonjour bonsoir,

J'ai un problème sur la fonction find de vbscript/excel.

Au fait je dois chercher dans le sheet 2 colonne 2 si la valeur est presente dans le sheet 1 colonne 2.

et si c'est le cas, mettre la cellule en rouge.

Code: Tout sélectionner

col B Sheet 1              col B Sheet 2
a -> rouge                   a -> rouge
b -> rouge                   e -> rouge
c                            g -> rouge
d -> rouge                   k
e -> rouge                   b -> rouge
f                            r
g -> rouge                   d -> rouge


J'ai le bout de code ci dessous, mais j'ai un pb pour mettre en rouge la cellule..

je suis sûr que c'est encore un truc à la con mais bon... :

(les objets sont définis auparavant...)

Code: Tout sélectionner
lignesheet1=1
ligneSheet2=1

Do While objexcel.cells(lignesheet1, 1).value <> ""

Set result = objexcel.Sheets(2).columns("B:B").Find(objexcel.Sheets(1).cells(lignesheet1, 2).value)
If Not result Is Nothing Then


''''''''''''''''''''' Erreur à la ligne suivante
result.address.interior.colorindex = 3



Else
MsgBox objexcel.Sheets(2).cells(lignesheet2, 2).value
End If


   lignesheet1 = lignesheet1 +1
   lignesheet2 = 1
Loop
trax
Full Member
Full Member
 
Messages: 140
Inscrit le: Ven 25 Oct 2002, 13:46

Re: VBScript & Excel et fonction Find

Messagepar TheHinou sur Ven 22 Aoû 2008, 16:54

dans excel c'est du vba ... pas du vbscript ...

Quel est le message d'erreur ?
Avatar de l’utilisateur
TheHinou
Grand Master
Grand Master
 
Messages: 1880
Inscrit le: Mar 17 Jan 2006, 14:25

Re: VBScript & Excel et fonction Find

Messagepar trax sur Ven 22 Aoû 2008, 20:25

non non, je joues avec excel via vbscript, carje fais des extract remise en forme avant...

Erreur : Objet requis: 'result.address'
Code : 800A01A8
trax
Full Member
Full Member
 
Messages: 140
Inscrit le: Ven 25 Oct 2002, 13:46

Re: VBScript & Excel et fonction Find

Messagepar TheHinou sur Lun 25 Aoû 2008, 9:42

Ah ok tu utilise un object Excel.application au temps pour moi
Fait un test pour verifier que ton result existe bien et n'est pas vide.

Par contre es-tu sur que l'objet result contiendra alors une propriété "address" ?
Avatar de l’utilisateur
TheHinou
Grand Master
Grand Master
 
Messages: 1880
Inscrit le: Mar 17 Jan 2006, 14:25

Re: VBScript & Excel et fonction Find

Messagepar trax sur Lun 25 Aoû 2008, 10:46

Code: Tout sélectionner
[...]

Set result = objexcel.Sheets(2).columns("B:B").Find(objexcel.Sheets(1).cells(excelligne, 2).value)
MsgBox result.address
If Not result Is Nothing Then
'result.address.interior.colorindex = 3
Else

[...]



le msgbox me retourne bien une valeur : "$B$23" ...
trax
Full Member
Full Member
 
Messages: 140
Inscrit le: Ven 25 Oct 2002, 13:46

Re: VBScript & Excel et fonction Find

Messagepar TheHinou sur Lun 25 Aoû 2008, 13:11

Il se peux que ton find ne renvoie qu'une chaine de caractère au lieu d'un objet plage.

Essaye sans conviction avec un bloc "with"

Sinon recrée un objet range à partir de ta chaine de caractère.
Avatar de l’utilisateur
TheHinou
Grand Master
Grand Master
 
Messages: 1880
Inscrit le: Mar 17 Jan 2006, 14:25

Re: VBScript & Excel et fonction Find

Messagepar trax sur Lun 25 Aoû 2008, 20:10

TheHinou a écrit:Il se peux que ton find ne renvoie qu'une chaine de caractère au lieu d'un objet plage.

Essaye sans conviction avec un bloc "with"

Sinon recrée un objet range à partir de ta chaine de caractère.



demain j'essaye ta 2ème option ;)

peux tu expliquer la premiere?
trax
Full Member
Full Member
 
Messages: 140
Inscrit le: Ven 25 Oct 2002, 13:46

Re: VBScript & Excel et fonction Find

Messagepar TheHinou sur Mar 26 Aoû 2008, 9:28

Comme je suis un faignant je te copie l'aide des bloc with :

L'instruction With permet d'appliquer une série d'instructions à l'objet indiqué, sans qualifier à chaque fois le nom de l'objet. Par exemple, pour modifier plusieurs propriétés d'un seul objet, placez les instructions d'affectation de propriétés dans la structure de contrôle With ; vous ne faites ainsi référence qu'une seule fois à l'objet, au lieu de le faire à chaque affectation de propriété. L'exemple ci-dessous illustre l'utilisation de l'instruction With dans le cadre de l'affectation de valeurs à plusieurs propriétés d'un même objet.
Code: Tout sélectionner
With MonÉtiquette
    .Height = 2000
    .Width = 2000
    .Caption = "Voici MonÉtiquette"
End With


Avatar de l’utilisateur
TheHinou
Grand Master
Grand Master
 
Messages: 1880
Inscrit le: Mar 17 Jan 2006, 14:25


Retourner vers Programmation

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invités



Accueil | News | Articles | Tips | Outils | FAQ XP | Certification | Easters Eggs
Essentiels | Top Sites | Glossaire | Vidéos | Whitepapers | Essentiels | Boîte à Scripts
Conditions d'utilisation é Copyright | Respect de la vie privée