erreur 13 "incompatibilité de type" où ?

AzoR

XLDnaute Occasionnel
Bonjour, j'ai une erreur dans mon programme je trouve pas help please

Sub Tableaux()

Dim tab1(), tab2(), tab3(), tab4(), tab5(), tab6(), tab7(), tab8() As String
Dim tabG1(), tabG2(), tabG3(), tabG4(), tabG5(), tabG6(), tabG7(), tabG8() As String
Dim tabD1(), tabD2(), tabD3(), tabD4(), tabD5(), tabD6(), tabD7(), tabD8() As String
Dim tabP(), tabG(), tabD() As Variant

mesureP1 = Cells(6, 2).Value
mesureP2 = Cells(7, 2).Value
mesureP3 = Cells(8, 2).Value
mesureP4 = Cells(9, 2).Value
mesureP5 = Cells(10, 2).Value
mesureP6 = Cells(11, 2).Value
mesureP7 = Cells(12, 2).Value
mesureP8 = Cells(13, 2).Value

tab1 = Split(mesureP1, ",")
tab2 = Split(mesureP2, ",")
tab3 = Split(mesureP3, ",")
tab4 = Split(mesureP4, ",")
tab5 = Split(mesureP5, ",")
tab6 = Split(mesureP6, ",")
tab7 = Split(mesureP7, ",")
tab8 = Split(mesureP8, ",")

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

mesureG1 = Cells(6, 3).Value
mesureG2 = Cells(7, 3).Value
mesureG3 = Cells(8, 3).Value
mesureG4 = Cells(9, 3).Value
mesureG5 = Cells(10, 3).Value
mesureG6 = Cells(11, 3).Value
mesureG7 = Cells(12, 3).Value
mesureG8 = Cells(13, 3).Value

tabG1 = Split(mesureG1, ",")
tabG2 = Split(mesureG2, ",")
tabG3 = Split(mesureG3, ",")
tabG4 = Split(mesureG4, ",")
tabG5 = Split(mesureG5, ",")
tabG6 = Split(mesureG6, ",")
tabG7 = Split(mesureG7, ",")
tabG8 = Split(mesureG8, ",")

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

mesureD1 = Cells(6, 4).Value
mesureD2 = Cells(7, 4).Value
mesureD3 = Cells(8, 4).Value
mesureD4 = Cells(9, 4).Value
mesureD5 = Cells(10, 4).Value
mesureD6 = Cells(11, 4).Value
mesureD7 = Cells(12, 4).Value
mesureD8 = Cells(13, 4).Value

tabD1 = Split(mesureD1, ",")
tabD2 = Split(mesureD2, ",")
tabD3 = Split(mesureD3, ",")
tabD4 = Split(mesureD4, ",")
tabD5 = Split(mesureD5, ",")
tabD6 = Split(mesureD6, ",")
tabD7 = Split(mesureD7, ",")
tabD8 = Split(mesureD8, ",")

tabP = Split(Join(tableTest1, ",") & "," & Join(tableTest2, ",") & "," & Join(tableTest3, ",") & "," & Join(tableTest4, ",") & "," & Join(tableTest5, ",") & "," & Join(tableTest6, ",") & "," & Join(tableTest7, ",") & "," & Join(tableTest8, ","), ",")

tabG = Split(Join(tableTestG1, ",") & "," & Join(tableTestG2, ",") & "," & Join(tableTestG3, ",") & "," & Join(tableTestG4, ",") & "," & Join(tableTestG5, ",") & "," & Join(tableTestG6, ",") & "," & Join(tableTestG7, ",") & "," & Join(tableTestG8, ","), ",")

tabD = Split(Join(tableTestD1, ",") & "," & Join(tableTestD2, ",") & "," & Join(tableTestD3, ",") & "," & Join(tableTestD4, ",") & "," & Join(tableTestD5, ",") & "," & Join(tableTestD6, ",") & "," & Join(tableTestD7, ",") & "," & Join(tableTestD8, ","), ",")

End Sub


Je ne sais pas si les Split sont bons, je veux que toutes les valeurs s'affichent en ligne.

Merci d'avance !
 

NezQuiCoule

XLDnaute Occasionnel
Re : erreur 13 "incompatibilité de type" où ?

Bonjour,

Je sais pas si ça peut aider mais au niveau des déclarations : Il faut préciser le type de chaque variable

Ici :

Code:
Dim tab1() As String, tab2() As String, tab3() As String, tab4() As String, tab5() As String, tab6() As String, tab7() As String, tab8() As String

Sinon elles se déclarent en Variant qui est le type par défaut.

Par ailleurs essaie justement sans préciser de type, ça devrait fonctionner
 

youky(BJ)

XLDnaute Barbatruc
Re : erreur 13 "incompatibilité de type" où ?

Bonjour,
les split ne sont pas bon
exemple
tx = "aaa,zzz,777"
MsgBox Split(tx, ",")(0) 'renvoie aaa
MsgBox Split(tx, ",")(1) 'renvoie zzz
MsgBox Split(tx, ",")(2) 'renvoie 777
MsgBox Split(tx, ",") '''''bug

Pour ton tableau il faut travailler avec un tableau à 2 dimensions, sans fichier exemple impossible d'aller plus loin
Bruno
 

Cousinhub

XLDnaute Barbatruc
Re : erreur 13 "incompatibilité de type" où ?

Bonsoir,

Sans aller plus loin, je dirai juste :

Code:
tab1 = Split(mesureP1, ",")
.....
.....

Et pour finir :

Code:
tabP = Split(Join(tableTest1, ",") & .......

C'est tab1, ou c'est tableTest1? (et pareil pour tous les autres tableaux....)

Bonne soirée
 

ROGER2327

XLDnaute Barbatruc
Re : erreur 13 "incompatibilité de type" où ?

Bonjour à tous.


BON​
MAUVAIS​
Code:
Sub split1() 'BON
Dim s$, x
s = "ab c def g    hi"
x = split(s)
End Sub
Code:
Sub split3() 'MAUVAIS
Dim s$, x()
s = "ab c def g    hi"
x = split(s)
End Sub
Code:
Sub split2() 'BON
Dim s$, x As Variant
s = "ab c def g    hi"
x = split(s)
End Sub
Code:
Sub split4() 'MAUVAIS
Dim s$, x As String
s = "ab c def g    hi"
x = split(s)
End Sub
Code:
Sub join1() 'BON
Dim s$, x, y
s = "ab c def g    hi"
x = split(s)
y = Join(x)
End Sub
Code:
Sub join2() 'BON
Dim x, y
x = Array("ab", "c", "def", "g", "", "", "", "hi")
y = Join(x)
End Sub
Code:
Sub join6() 'MAUVAIS
Dim x$(), y$
x = Array("ab", "c", "def", "g", "", "", "", "hi")
y = Join(x)
End Sub
Code:
Sub join3() 'BON
Dim x(), y
x = Array("ab", "c", "def", "g", "", "", "", "hi")
y = Join(x)
End Sub
Code:
Sub join4() 'BON
Dim x(), y$
x = Array("ab", "c", "def", "g", "", "", "", "hi")
y = Join(x)
End Sub
Code:
Sub join5() 'BON
Dim i&, u(), x$(), y$
u = Array("ab", "c", "def", "g", "", "", "", "hi")
ReDim x(UBound(u))
For i = 0 To UBound(u)
    x(i) = u(i)
Next
y = Join(x)
End Sub
Code:
Sub join7() 'MAUVAIS
Dim i&, j&, u(), x$(), y$
u = Array("ab", "c", "def", "g", "", "", "", "hi")
ReDim x(UBound(u) \ 2, 1)
For i = 0 To UBound(u)
    x(i \ 2, i Mod 2) = u(i)
Next
y = Join(x)
End Sub


Bonne nuit.


ℝOGER2327
#7858


Mardi 10 Palotin 142 (Saint Forficule, Barnabite - fête Suprême Quarte)
10 Floréal An CCXXIII, 0,4593h - râteau
2015-W18-3T01:06:08Z
 

AzoR

XLDnaute Occasionnel
Re : erreur 13 "incompatibilité de type" où ?

Merci beaucoup pour vos réponses !

Voilà je vous ai mis mon programme en pièces jointes. La partie en question est tout en bas de la feuille 1 quand on est dans la page VBA, dans le Sub Tableau().

J'ai changer le nom de mes variables. Je vais essayer ce que vous m'avez conseiller en attendant de vos réponses, merci d'avance !
Sub Tableaux()

Dim tab1(), tab2(), tab3(), tab4(), tab5(), tab6(), tab7(), tab8() As String
Dim tabG1(), tabG2(), tabG3(), tabG4(), tabG5(), tabG6(), tabG7(), tabG8() As String
Dim tabD1(), tabD2(), tabD3(), tabD4(), tabD5(), tabD6(), tabD7(), tabD8() As String
Dim tabP(), tabG(), tabD() As Variant

mesureP1 = Cells(6, 2).Value
mesureP2 = Cells(7, 2).Value
mesureP3 = Cells(8, 2).Value
mesureP4 = Cells(9, 2).Value
mesureP5 = Cells(10, 2).Value
mesureP6 = Cells(11, 2).Value
mesureP7 = Cells(12, 2).Value
mesureP8 = Cells(13, 2).Value

tab1 = Split(mesureP1, ",")
tab2 = Split(mesureP2, ",")
tab3 = Split(mesureP3, ",")
tab4 = Split(mesureP4, ",")
tab5 = Split(mesureP5, ",")
tab6 = Split(mesureP6, ",")
tab7 = Split(mesureP7, ",")
tab8 = Split(mesureP8, ",")

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

mesureG1 = Cells(6, 3).Value
mesureG2 = Cells(7, 3).Value
mesureG3 = Cells(8, 3).Value
mesureG4 = Cells(9, 3).Value
mesureG5 = Cells(10, 3).Value
mesureG6 = Cells(11, 3).Value
mesureG7 = Cells(12, 3).Value
mesureG8 = Cells(13, 3).Value

tabG1 = Split(mesureG1, ",")
tabG2 = Split(mesureG2, ",")
tabG3 = Split(mesureG3, ",")
tabG4 = Split(mesureG4, ",")
tabG5 = Split(mesureG5, ",")
tabG6 = Split(mesureG6, ",")
tabG7 = Split(mesureG7, ",")
tabG8 = Split(mesureG8, ",")

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

mesureD1 = Cells(6, 4).Value
mesureD2 = Cells(7, 4).Value
mesureD3 = Cells(8, 4).Value
mesureD4 = Cells(9, 4).Value
mesureD5 = Cells(10, 4).Value
mesureD6 = Cells(11, 4).Value
mesureD7 = Cells(12, 4).Value
mesureD8 = Cells(13, 4).Value

tabD1 = Split(mesureD1, ",")
tabD2 = Split(mesureD2, ",")
tabD3 = Split(mesureD3, ",")
tabD4 = Split(mesureD4, ",")
tabD5 = Split(mesureD5, ",")
tabD6 = Split(mesureD6, ",")
tabD7 = Split(mesureD7, ",")
tabD8 = Split(mesureD8, ",")

tabP = Split(Join(tableTest1, ",") & "," & Join(tableTest2, ",") & "," & Join(tableTest3, ",") & "," & Join(tableTest4, ",") & "," & Join(tableTest5, ",") & "," & Join(tableTest6, ",") & "," & Join(tableTest7, ",") & "," & Join(tableTest8, ","), ",")
tabG = Split(Join(tableTestG1, ",") & "," & Join(tableTestG2, ",") & "," & Join(tableTestG3, ",") & "," & Join(tableTestG4, ",") & "," & Join(tableTestG5, ",") & "," & Join(tableTestG6, ",") & "," & Join(tableTestG7, ",") & "," & Join(tableTestG8, ","), ",")
tabD = Split(Join(tableTestD1, ",") & "," & Join(tableTestD2, ",") & "," & Join(tableTestD3, ",") & "," & Join(tableTestD4, ",") & "," & Join(tableTestD5, ",") & "," & Join(tableTestD6, ",") & "," & Join(tableTestD7, ",") & "," & Join(tableTestD8, ","), ",")

End Sub
 

Pièces jointes

  • V14.xls
    140 KB · Affichages: 24
  • V14.xls
    140 KB · Affichages: 30
  • V14.xls
    140 KB · Affichages: 33

AzoR

XLDnaute Occasionnel
Re : erreur 13 "incompatibilité de type" où ?

C'est bon ça marche niquel !

J'ai une question après si vous avez une idée... Du coup je récupère toutes mes valeurs par exemple pour tabP je récupère 64 valeurs qui correspondent aux valeurs de température de mes 64 capteurs de plancher. Or là elles sont toutes en ligne ou en colonne je ne sais pas.

Je souhaiterai les mettre dans un tableau 8x8 à partir de ce tableau 1x64, afin que mes valeurs soient dans l'ordre suivant :

1 9 17 25 33 41 49 57
2 10 18 26 34 42 50 58
3 11 19 27 35 43 51 59
4 12 20 28 36 44 52 60
5 13 21 29 37 45 53 61
6 14 22 30 38 46 54 62
7 15 23 31 39 47 55 63
8 16 24 32 40 48 56 64

et de même pour les deux autres parois qui ont 104 capteurs chacune, tabG tabD, en 8 colonnes et 13 lignes.

merci d'avance !
 
Dernière édition:

AzoR

XLDnaute Occasionnel
Re : erreur 13 "incompatibilité de type" où ?

avec :
Range("A15:BL15").Value = tabP

J'obtiens bien mes 64 valeurs en ligne affichées sur ma feuille n°1 excel. Maintenant je voudrai modifier mon tableau comme ci-dessus des idées ? :(

J'ai pensais a utiliser LBound et UBound, et genre pour un i = 1 to 8 ( pour parcourir les colonnes ), dire que de LBound à LBound + 7 ça ira dans la première colonne ( donc i = 1 )
Ensuite on incrémente, pour i = 2 , de LBound + 8 à LBound + 15 ça ira dans la seconde colonne etc ...

Mais je n'arrive pas à le transcrire en VBA :confused:
 
Dernière édition:

Statistiques des forums

Discussions
312 321
Messages
2 087 247
Membres
103 498
dernier inscrit
FAHDE