Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

erreur 13 "incompatibilité de type" où ?

AzoR

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



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 !
 

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
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…