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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Erreur 13 Incompatibilité de type

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur 13 Incompatibilité de type

n°2028832
Bandit Rid​er
Posté le 13-10-2010 à 09:07:40  profilanswer
 

Bonjour,
 
Voila, j'ai un programme à faire tourner et celui-ci me met une erreur d'incompatibilité de type  
 
pourriez-vous m'aider merci d'avance.
 
le code :  
Sub Classes()
'----------------EN TETE
'Le but de ce module est de trier les weldolet par classes suivant la flèche de 1.6mm
'----ENTREE
'Le tableau de "Géométrie"
'----SORTIE
'Valeurs triées dans l'onglet "Géométrie"
 
Dim tableau_des_comparaisons(0 To 200, 0 To 10) As Variant
Dim tableau_géométrie(0 To 8000, 0 To 80) As Variant
'recopie du tableau géométrie dans "tableau_géométrie"
X = 1
Do While Worksheets("Géométrie" ).Cells(X + 48, 1) <> ""
For Y = 1 To 26
tableau_géométrie(X, Y) = Worksheets("Géométrie" ).Cells(X + 48, Y)
Next
For Y = 33 To 40
tableau_géométrie(X, Y) = Worksheets("Géométrie" ).Cells(X + 48, Y)
Next
X = X + 1
Loop
'opération de tri dans le tableau géométrie
For A = 1 To X
If tableau_géométrie(A, 33) < tableau_des_comparaisons(tableau_géométrie(A, 5), 1) + 1 And tableau_géométrie(A, 33) > tableau_des_comparaisons(tableau_géométrie(A, 5), 1) - 1 Then
    If tableau_géométrie(A, 2) = tableau_géométrie(tableau_des_comparaisons(tableau_géométrie(A, 5), 2), 2) Then
    B = 4
    tableau_géométrie(tableau_des_comparaisons(tableau_géométrie(A, 5), 2), B) = tableau_géométrie(A, 3)
    For B = 6 To 26
    tableau_géométrie(tableau_des_comparaisons(tableau_géométrie(A, 5), 2), B) = tableau_géométrie(A, B)
    Next
    For B = 33 To 40
    tableau_géométrie(tableau_des_comparaisons(tableau_géométrie(A, 5), 2), B) = tableau_géométrie(A, B)
    Next
    For B = 6 To 26
    tableau_géométrie(A, B) = ""
    Next
     
 
    Else
    GoTo moe
    End If
Else
 
 
 
moe:
tableau_des_comparaisons(tableau_géométrie(A, 5), 1) = tableau_géométrie(A, 33)
tableau_des_comparaisons(tableau_géométrie(A, 5), 2) = A
End If
Next
'Nettoyage de la feuille géométrie
X = 1
Do While Worksheets("Géométrie" ).Cells(X + 48, 1) <> ""
For Y = 1 To 26
Worksheets("Géométrie" ).Cells(X + 48, Y) = " "
Next
For Y = 33 To 40
Worksheets("Géométrie" ).Cells(X + 48, Y) = ""
Next
X = X + 1
Worksheets("Géométrie" ).Cells(X + 48, 10).Select
 
Loop
 
'écriture de "tableau_géométrie" dans le tableau de Géométrie
z = 1
X = 1
Do While tableau_géométrie(X, 1) <> ""
If tableau_géométrie(X, 10) <> "" Then
    For Y = 1 To 26
    Worksheets("Géométrie" ).Cells(z + 48, Y) = tableau_géométrie(X, Y)
    Next
    For Y = 33 To 40
    Worksheets("Géométrie" ).Cells(z + 48, Y) = tableau_géométrie(X, Y)
    Next
    Worksheets("Géométrie" ).Cells(z + 48, 1) = "=IF(AND(R[" & -z - 48 + 5 & "]C[1]=RC[1],R[" & -z - 48 + 6 & "]C[1]>=RC[2],R[" & -z - 48 + 6 & "]C[1]<=RC[3],R[" & -z - 48 + 7 & "]C[1]=RC[4]),1,0)"
    z = z + 1
    Worksheets("Géométrie" ).Cells(z - 1, 10).Select
End If
X = X + 1
Loop
 
End Sub
 
ça plante au niveau du tableau des comparaisons et d'après ce que j'ai pu comprendre c'est le type Variant qui coince.  
mais ce ne sont que des suppositions de novice en informatique  
 
Voila, merci de votre aide  
 
A bientôt

mood
Publicité
Posté le 13-10-2010 à 09:07:40  profilanswer
 

n°2028842
SuppotDeSa​Tante
Aka dje69r
Posté le 13-10-2010 à 09:33:31  profilanswer
 

Sur quelle ligne l'erreur ?


---------------
Soyez malin, louez entre voisins !
n°2028851
Bandit Rid​er
Posté le 13-10-2010 à 09:58:26  profilanswer
 

Bonjour,  
 
l'erreur est sur cette ligne  
 
If tableau_géométrie(A, 33) < tableau_des_comparaisons(tableau_géométrie(A, 5), 1) + 1 And tableau_géométrie(A, 33) > tableau_des_comparaisons(tableau_géométrie(A, 5), 1) - 1 Then  
 
Merci de ta réponse

n°2028895
SuppotDeSa​Tante
Aka dje69r
Posté le 13-10-2010 à 12:05:02  profilanswer
 

L'erreur est ici :
tableau_des_comparaisons(tableau_géométrie(A, 5), 1)
 
Ton tableau_géométrie(A, 5) renvoie autre chose qu'un variant ou une valeur superieure a celle definie dans le tableau
Tu dois donc avoir dans une cellule de ton tableau autre chose que des chiffres de 0 à 8000
 
Si dans mon tableau qui va de A1 à DI300 je ne mets que des nombres, la routine passe sans souci.
Si je mets une lettre a un endroit, hop ca foire.
 
Si tableau_géométrie(A, 5) renvoie 201, bah forcement aussi ca foire, car tu definis ton tableau tableau_des_comparaisons(0 To 200, 0 To 10)
 
etc.
 
Faut verifier tes données sources
 
Si tu poses ta souris sur le texte "tableau_géométrie" sur la ligne surlignée en jaune qd ca beug, Excel est censé te donner la valeur que ca renvoie...
http://dje69r.free.fr/BanditRider.JPG


Message édité par SuppotDeSaTante le 13-10-2010 à 12:09:04

---------------
Soyez malin, louez entre voisins !
n°2028923
Bandit Rid​er
Posté le 13-10-2010 à 14:09:37  profilanswer
 

Ok je te remercie de ta réponse, j'essayerai ça et je te tiendrai au courant. Encore merci

n°2029338
Bandit Rid​er
Posté le 14-10-2010 à 17:18:59  profilanswer
 

Bonjour,  
 
je te remercie pour le temps que tu as passé sur le problème, maintenant ça fonctionne.
 
un grand merci

n°2029351
SuppotDeSa​Tante
Aka dje69r
Posté le 14-10-2010 à 18:06:12  profilanswer
 

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

  Erreur 13 Incompatibilité de type

 

Sujets relatifs
limites VBA_excel_2007?? ( Erreur 7_Mémoire Insuffisante)Récupérer un type de fichier sur lecteurs voulus
Type d'un templateType erasure et accesseurs
Impossible de copier/coller un path dans un input type file sous FF3Erreur 13 :incompatibilité type
Erreur d'incompatibilité de type sur VBAErreur d'exécution '13': incompatibilité de type
[VBA-EXCEL2003] incompatibilité de type erreur 13Problème d'incompatibilité de type (erreur 13)
Plus de sujets relatifs à : Erreur 13 Incompatibilité de type


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