rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[EXCEL] Comparaison cellules

sandrill0n, le jeudi 16 juin 2005 à 13:41:51
Bonjour,

Je souhaite comparer des cellules sur 2 feuilles excel et mettre une donnée dans la 3ème feuille.

J'ai commencé une macro (ci-dessous), mais j'ai une "run-time error" à l'exécution.

For cpt_lot = 0 To 15000
        
        'Initialisation des param
        Lot = Worksheets("Lot_PC").Cells((2 + cpt_lot), 1).Text
        Wafer = Worksheets("Lot_PC").Cells((2 + cpt_lot), 2).Numeric
        Lot_present = False
        Wafer_present = False
        rowsearch = 2
        
        'Le Lot est présent dans la feuille Yield ?
        While (VarType(Worksheets("Yield_Probe").Cell(rowsearch, 1)) <> 0 And VarType(Worksheets("Yield_Probe").Cell(rowsearch, 3)) <> 0)
            If ((Worksheets("Yield_Probe").Cells(rowsearch, 1).Value = Lot) And (Worksheets("Yield_Probe").Cells(rowsearch, 3).Value = Wafer)) Then
                Lot_present = True
                Wafer_present = True
            End If
            rowsearch = rowsearch + 1
        Wend
        
        rowyield = 2
        While (VarType(Worksheets("Yield_Probe").Cell(rowyield, 1)) <> 0 And VarType(Worksheets("Yield_Probe").Cell(rowyield, 3)) <> 0)
            If ((Worksheets("Yield_Probe").Cells(rowyield, 1).Value = Lot) And (Worksheets("Yield_Probe").Cells(rowyield, 3).Value = Wafer)) Then
                yield = Worksheets("Yield_Probe").Cells(rowyield, 7).Value
            End If
            rowyield = rowyield + 1
        Wend
            
        If ((Lot_present = True) And (Wafer_present = True)) Then
                Worksheets("Lot_PC_Yield").Cells(rowsearch, 8) = yield
        End If
        
    Next cpt_lot


Merci,
Sandrillon
Répondre à sandrill0n  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sandrill0n, le jeudi 16 juin 2005 à 15:17:46
J'ai ça comme message d'erreur

"Run-time error '438'
Object doesn't support this property or method"
Répondre à sandrill0n

2


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
purrofixe, le jeudi 16 juin 2005 à 15:28:51
Bonjour sandrillon,
Essayer de faire un traçage de votre macro (exécution pas à pas), cela vous permettra de voir à quelle ligne d'instruction le problème survient.
Bonne chance. Amicales salutations
Jean-Pierre
Répondre à purrofixe

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sandrill0n, le jeudi 16 juin 2005 à 15:48:00
Merci de votre aide !

En fait j'avais mal orthographié une instruction...

Merci encore,

Sandrillon
Répondre à sandrill0n

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Armojax, le jeudi 16 juin 2005 à 15:41:48
Bonjour Sandrillon,

J'obtiens ton erreur 438 avec cette ligne-là :

Wafer = Worksheets("Lot_PC").Cells((2 + cpt_lot), 2).Numeric

Numeric ne s'applique pas tel quel sur une cellule.
Si tu veux savoir si le contenu d'une cellule est numérique, fais :

If IsNumeric(<la valeur de ta cellule>) then...
Répondre à Armojax

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sandrill0n, le jeudi 16 juin 2005 à 16:08:35
Heu par contre je crois que j'ai fais une boucle sans fin....

Je lui ai dit de compter jusqu'à 15000.
Dans la feuille 1 (référence) il y a 7000 lignes à scruter
Dans la feuille 2 (à comparer) il y a 13000 lignes à scruter

Ca prend longtemps à votre avis ?
Répondre à sandrill0n

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Armojax, le jeudi 16 juin 2005 à 17:21:00
Peut-être peux-tu tester ta macro sur un échantillon, avant de la lancer en réel. Sur une dizaine de lignes tu verras si tu boucles.
Répondre à Armojax

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
magpie, le mardi 17 octobre 2006 à 15:32:33
hello

j'ai une erreur 438 sur cette ligne ci :

cnt = cnt + Application.WorksheetFunction.Abs(moy - val)

et l'erreur est placee uniquement sur ABS cense donner la valeur absolue. Le reste de la formule fonctionnant avec la fonction somme par exemple.

Une idee ?
Merci
Répondre à magpie

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
magpie, le mardi 17 octobre 2006 à 18:01:07
Bon alors je ne comprend pas, je suis sur un PC anglais, et dans l'HELP liste des fonctions VBA n'apparait pas Abs ni Sqr...

quelqu'un aurai des infos?
merci
Répondre à magpie

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JvDo, le mardi 17 octobre 2006 à 18:18:54
Bonsoir,


en fait, ABS et SQR existent mais pas en Worksheetfunction.

ce sont des fonctions VBA natives

cordialement

PS : en feuille de calcul, c'est SQRT, donc en VBA tu peux écrire =[SQRT(2)] ou =SQR(2) pour obtenir la racine carrée de 2. la différence est dans les crochets qui font l'équivalent d'un Evaluate.
Ceci dit, utilise les fonctions VBA natives.
Répondre à JvDo

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
magpie, le mardi 17 octobre 2006 à 23:12:23
ok merci por cette reponse.

Par contre "fonction nqtive " là je cale un peu pourrais tu expliquer?

merci
Répondre à magpie

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 magpie, le mardi 17 octobre 2006 à 23:18:09
ah ok j'ai compris je viens d'essayer.
Donc pas besoin de blabla ca fonctionne tout seul avec =[SQRT(2)]

Merci.
Répondre à magpie
Logiciels pertinents trouvés dans les téléchargements
Télécharger Excel Viewer 2003Excel Viewer - Avec Microsoft Office Excel Viewer 2003, vous pouvez ouvrir, afficher et imprimer des classeurs Excel (fichiers XLS ), même...Catégorie: Tableur
Licence: Freeware/gratuit
Télécharger MOREFUNC (Macro complémentaire EXCEL) 5.06MOREFUNC (Macro complémentaire EXCEL) - Morefunc est une macro complémentaire proposant 67 nouvelles fonctions de feuille de calcul pour Excel. Ces fonctions sont...Catégorie: Tableur
Licence: Freeware/gratuit
Télécharger Ms Word Excel Cracker 2.2Ms Word Excel Cracker - Ms Word Excel Craker est une application permettant de retrouver les mots de passe perdus ou oubliés pour les fichiers.xls...Catégorie: Suite bureautique
Licence: Freeware/gratuit
Télécharger ConnectCode Free Excel Training 1.01ConnectCode Free Excel Training - Office Excel est un incontournable quand on utilise Windows comme l'est Word. Néanmoins son utilisation n'est pas des plus...Catégorie: Bureautique
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [EXCEL] Comparaison cellules »