Incompatibilité de type vba

Adasw

XLDnaute Nouveau
Bonjour,
Je suis novice dans la création de macro sur excel. Mon but est de comparer deux points géographiques en calculant la distance qui les séparent et de stocker tout ça dans une nouvelle feuille 'resultat100'. Je reste bloqué sur l'erreur "incompatibilité de type" quand j’exécute ce code :
------------------------------------------------------------------------------------------------------------------------------
Sub Comparaison()
'
' Comparaison Macro
'
Dim VALEURxA As Double, VALEURxB As Double
Dim VALEURyA As Double, VALEURyB As Double
Dim VALEURIdFree As String, VALEURNumSite As String
Dim RESULTAT As Double
Dim CONDITION As Double
'Dim i As Integer
'Dim j As Integer
Dim l As Integer

Sheets("PointA").Select
For i = 2 To 6861
VALEURxA = CDbl(Range("C" & i).Value)
VALEURyA = CDbl(Range("D" & i).Value)
VALEURIdPointA = Range("D" & i).Value

Sheets("PointB").Select
For j = 2 To 784
VALEURxB = CDbl(Range("AS" & j).Value)
VALEURyB = CDbl(Range("AT" & j).Value)
VALEURIdPointB = Range("C" & j).Value

RESULTAT = Sqr(((VALEURxA - VALEURxB) ^ 2) + ((VALEURxA - VALEURxB) ^ 2))

CONDITION = 100

Sheets("Resultats100").Select
If RESULTAT <= CONDITION Then
Range("A" & l) = VALEURIdPointA
Range("B" & l) = VALEURIdPointB
Range("C" & l) = RESULTAT
l = l + 1
End If

Next j
Next i

End Sub
--------------------------------------------------------------------------------------------------------------------------------

Merci de votre aide
 

Papou-net

XLDnaute Barbatruc
Re : Incompatibilité de type vba

Bonjour Adasw, et bienvenue,

Il n'y a pas de devin sur le site, alors peux-tu préciser sur quelle ligne se produit l'erreur? Ou,mieux encore, joindre une copie de ton fichier.

De toute évidence, tu essaies de donner une valeur inadaptée au type d'une variable, mais laquelle c'est difficile à dire comme ça.

A +

Cordialement.
 

Paf

XLDnaute Barbatruc
Re : Incompatibilité de type vba

Bonjour

Sans précision de la ligne de code en cause ni classeur support pour l'identifier, pas facile !!

Mais, a priori, il y a un souci ici:
Code:
If RESULTAT <= CONDITION Then
   Range("A" & l) = VALEURIdPointA
   Range("B" & l) = VALEURIdPointB
   Range("C" & l) = RESULTAT
   l = l + 1
End If

au premier passage dans le test, la variable l vaut 0, et donc Range("A" & l) ne doit pas passer !

A+

Edit : bonjour Papou-net
 

Hervé

XLDnaute Barbatruc
Re : Incompatibilité de type vba

salut :)

sans test, essaye : dim l as long

autre chose, normal que tu initialises l en fin de boucle seulement ? tu te retrouves pas avec l=0 ? et donc bug avec range("a" & l)

a plus

edit : salut papou-net et paf :D
 

Discussions similaires

Réponses
11
Affichages
297
Réponses
0
Affichages
155
Réponses
1
Affichages
172

Statistiques des forums

Discussions
312 316
Messages
2 087 172
Membres
103 490
dernier inscrit
zatougraf