OVH Cloud OVH Cloud

Recopier une matrice dans une autre

15 réponses
Avatar
Daniel
Bonjour.
Pouvez-vous me dire comment recopier le tableau "tablo1" dans le tableau
d'origine ?

Sub test()
Dim tablo()
ReDim tablo(8)
tablo(0) = "toto"
tablo(1) = "uoup"
tablo(2) = "toto"
tablo(3) = "tata"
tablo(4) = "azer"
tablo(5) = "zzzz"
tablo(6) = "toto"
tablo(7) = "toto"
tablo(8) = "toto"
tablo1 = Filter(tablo, "toto", False)
tablo = tablo1
End Sub

La ligne "tablo = tablo1" renvoie l'erreur "Incompatibilité de type".
J'ai essayé de redimensionner "tablo" sans changer l'erreur.
Merci d'avance.
Daniel

5 réponses

1 2
Avatar
MichDenis
Si tu ne déclares pas ta variable as string, as-tu un message d'erreur ? si oui, quel est-il ?


"Daniel" a écrit dans le message de news:
uFr$
C'est vrai que ce n'est pas clair. L'aide sur "filter" dit :
"Renvoie un tableau de base zéro contenant un sous-ensemble d'un tableau de
chaîne..."
J'ai donc, à toout hasard, déclaré comme string... et ça fonctionne. C'est
la première fois que je vois qu'on ne peut pas copier du string dans du
variant...
L'explication définitive viendra peut-être d'un des gourous qui hantent ce
forum... ;-))
Daniel
"Garette" a écrit dans le message de news:
%23fKQa%
Oui, mais pourquoi ?

"Daniel" a écrit dans le message de news:

J'ai trouvé.
Il faut déclarer :
Dim Tblo() As String au lieu de Dim Tblo()
Merci à tous.
Daniel






Avatar
Daniel
Incompatibilité de type.
Daniel
"MichDenis" a écrit dans le message de news:
usqg%23C%
Si tu ne déclares pas ta variable as string, as-tu un message d'erreur ?
si oui, quel est-il ?


"Daniel" a écrit dans le message de news:
uFr$
C'est vrai que ce n'est pas clair. L'aide sur "filter" dit :
"Renvoie un tableau de base zéro contenant un sous-ensemble d'un tableau
de
chaîne..."
J'ai donc, à toout hasard, déclaré comme string... et ça fonctionne. C'est
la première fois que je vois qu'on ne peut pas copier du string dans du
variant...
L'explication définitive viendra peut-être d'un des gourous qui hantent ce
forum... ;-))
Daniel
"Garette" a écrit dans le message de news:
%23fKQa%
Oui, mais pourquoi ?

"Daniel" a écrit dans le message de news:

J'ai trouvé.
Il faut déclarer :
Dim Tblo() As String au lieu de Dim Tblo()
Merci à tous.
Daniel











Avatar
MichDenis
Et dans ta procédure de filtre, comment as-tu défini tes paramètres ?


"Daniel" a écrit dans le message de news:
egvOiI%
Incompatibilité de type.
Daniel
"MichDenis" a écrit dans le message de news:
usqg%23C%
Si tu ne déclares pas ta variable as string, as-tu un message d'erreur ?
si oui, quel est-il ?


"Daniel" a écrit dans le message de news:
uFr$
C'est vrai que ce n'est pas clair. L'aide sur "filter" dit :
"Renvoie un tableau de base zéro contenant un sous-ensemble d'un tableau
de
chaîne..."
J'ai donc, à toout hasard, déclaré comme string... et ça fonctionne. C'est
la première fois que je vois qu'on ne peut pas copier du string dans du
variant...
L'explication définitive viendra peut-être d'un des gourous qui hantent ce
forum... ;-))
Daniel
"Garette" a écrit dans le message de news:
%23fKQa%
Oui, mais pourquoi ?

"Daniel" a écrit dans le message de news:

J'ai trouvé.
Il faut déclarer :
Dim Tblo() As String au lieu de Dim Tblo()
Merci à tous.
Daniel











Avatar
Daniel
Fonctionnent :

Sub test()
Dim Tblo() As String
ReDim Tblo(1)
Tblo(0) = "toto1"
Tblo(1) = "toto2"
Tblo = Filter(Tblo, "toto1", False)
End Sub

ou

Sub test()
Dim Tblo() As String
ReDim Tblo(1)
Tblo(0) = "toto1"
Tblo(1) = "toto2"
T = Filter(Tblo, "toto1", False)
Tblo = T
End Sub


Ne fonctionnent pas :

Sub test()
Dim Tblo()
ReDim Tblo(1)
Tblo(0) = "toto1"
Tblo(1) = "toto2"
Tblo = Filter(Tblo, "toto1", False)
End Sub

ou

Sub test()
Dim Tblo()
ReDim Tblo(1)
Tblo(0) = "toto1"
Tblo(1) = "toto2"
T = Filter(Tblo, "toto1", False)
Tblo = T
End Sub


Message "Incompatibilité de type" sur la ligne :
x = Filter(Tblo, "toto1", False)
Daniel
"MichDenis" a écrit dans le message de news:
OLhR8b%
Et dans ta procédure de filtre, comment as-tu défini tes paramètres ?


"Daniel" a écrit dans le message de news:
egvOiI%
Incompatibilité de type.
Daniel
"MichDenis" a écrit dans le message de news:
usqg%23C%
Si tu ne déclares pas ta variable as string, as-tu un message d'erreur ?
si oui, quel est-il ?


"Daniel" a écrit dans le message de news:
uFr$
C'est vrai que ce n'est pas clair. L'aide sur "filter" dit :
"Renvoie un tableau de base zéro contenant un sous-ensemble d'un tableau
de
chaîne..."
J'ai donc, à toout hasard, déclaré comme string... et ça fonctionne.
C'est
la première fois que je vois qu'on ne peut pas copier du string dans du
variant...
L'explication définitive viendra peut-être d'un des gourous qui hantent
ce
forum... ;-))
Daniel
"Garette" a écrit dans le message de news:
%23fKQa%
Oui, mais pourquoi ?

"Daniel" a écrit dans le message de news:

J'ai trouvé.
Il faut déclarer :
Dim Tblo() As String au lieu de Dim Tblo()
Merci à tous.
Daniel
















Avatar
Ange Ounis
Dans les procédures qui ne fonctionnent pas, modifie ta déclaration du tableau :

Au lieu de
Dim Tblo()

il suffit de
Dim Tblo

----------
Ange Ounis
----------

Fonctionnent :

Sub test()
Dim Tblo() As String
ReDim Tblo(1)
Tblo(0) = "toto1"
Tblo(1) = "toto2"
Tblo = Filter(Tblo, "toto1", False)
End Sub

ou

Sub test()
Dim Tblo() As String
ReDim Tblo(1)
Tblo(0) = "toto1"
Tblo(1) = "toto2"
T = Filter(Tblo, "toto1", False)
Tblo = T
End Sub


Ne fonctionnent pas :

Sub test()
Dim Tblo()
ReDim Tblo(1)
Tblo(0) = "toto1"
Tblo(1) = "toto2"
Tblo = Filter(Tblo, "toto1", False)
End Sub

ou

Sub test()
Dim Tblo()
ReDim Tblo(1)
Tblo(0) = "toto1"
Tblo(1) = "toto2"
T = Filter(Tblo, "toto1", False)
Tblo = T
End Sub


Message "Incompatibilité de type" sur la ligne :
x = Filter(Tblo, "toto1", False)
Daniel
"MichDenis" a écrit dans le message de news:
OLhR8b%
Et dans ta procédure de filtre, comment as-tu défini tes paramètres ?


"Daniel" a écrit dans le message de news:
egvOiI%
Incompatibilité de type.
Daniel
"MichDenis" a écrit dans le message de news:
usqg%23C%
Si tu ne déclares pas ta variable as string, as-tu un message d'erreur ?
si oui, quel est-il ?


"Daniel" a écrit dans le message de news:
uFr$
C'est vrai que ce n'est pas clair. L'aide sur "filter" dit :
"Renvoie un tableau de base zéro contenant un sous-ensemble d'un tableau
de
chaîne..."
J'ai donc, à toout hasard, déclaré comme string... et ça fonctionne.
C'est
la première fois que je vois qu'on ne peut pas copier du string dans du
variant...
L'explication définitive viendra peut-être d'un des gourous qui hantent
ce
forum... ;-))
Daniel
"Garette" a écrit dans le message de news:
%23fKQa%
Oui, mais pourquoi ?

"Daniel" a écrit dans le message de news:

J'ai trouvé.
Il faut déclarer :
Dim Tblo() As String au lieu de Dim Tblo()
Merci à tous.
Daniel

















1 2