| Comment faire pour effacer par exemple la deuxième entrée ?
Myarray(3,3) = ""
Tu cherches autre chose ?
Salutations !
"Jean" a écrit dans le message de news: 43e8dfd1$0$29197$ Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3) Myarray (1,1) = nom1 Myarray (1,2) = fonction1 Myarray (1,3) = mail 1 Myarray (2,1) = nom2 Myarray (2,2) = fonction2 Myarray (2,3) = mail 2 Myarray (3,1) = nom3 Myarray (3,2) = fonction3 Myarray(3,3) = mail 3 Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
Merci d'avance
Jean
Jean
Oui je cherche autre chose car dans ton exemple, tu ne fais que mettre un valeur à zéro. Moi j'aimerais effacer une entrée compléte. Dans mon exemple ci-dessous, effacer par exemple nom2, fonction2 et mail2 c'est à dire qu'après l'opération, Myarray(2,1) sera égale à nom3 Myarray(2,2) sera égale à fonction3 et Myarray (2,3) sera égale à mail 3
jean
"michdenis" a écrit dans le message de news:
Bonjour Jean,
| Comment faire pour effacer par exemple la deuxième entrée ?
Myarray(3,3) = ""
Tu cherches autre chose ?
Salutations !
"Jean" a écrit dans le message de news: 43e8dfd1$0$29197$ Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3) Myarray (1,1) = nom1 Myarray (1,2) = fonction1 Myarray (1,3) = mail 1 Myarray (2,1) = nom2 Myarray (2,2) = fonction2 Myarray (2,3) = mail 2 Myarray (3,1) = nom3 Myarray (3,2) = fonction3 Myarray(3,3) = mail 3 Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
Merci d'avance
Jean
Oui je cherche autre chose car dans ton exemple, tu ne fais que mettre un
valeur à zéro.
Moi j'aimerais effacer une entrée compléte.
Dans mon exemple ci-dessous, effacer par exemple nom2, fonction2 et mail2
c'est à dire qu'après l'opération,
Myarray(2,1) sera égale à nom3
Myarray(2,2) sera égale à fonction3
et Myarray (2,3) sera égale à mail 3
jean
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
eyjlAIBLGHA.2320@TK2MSFTNGP11.phx.gbl...
Bonjour Jean,
| Comment faire pour effacer par exemple la deuxième entrée ?
Myarray(3,3) = ""
Tu cherches autre chose ?
Salutations !
"Jean" <jj@free.fr> a écrit dans le message de news:
43e8dfd1$0$29197$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3)
Myarray (1,1) = nom1
Myarray (1,2) = fonction1
Myarray (1,3) = mail 1
Myarray (2,1) = nom2
Myarray (2,2) = fonction2
Myarray (2,3) = mail 2
Myarray (3,1) = nom3
Myarray (3,2) = fonction3
Myarray(3,3) = mail 3
Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
Oui je cherche autre chose car dans ton exemple, tu ne fais que mettre un valeur à zéro. Moi j'aimerais effacer une entrée compléte. Dans mon exemple ci-dessous, effacer par exemple nom2, fonction2 et mail2 c'est à dire qu'après l'opération, Myarray(2,1) sera égale à nom3 Myarray(2,2) sera égale à fonction3 et Myarray (2,3) sera égale à mail 3
jean
"michdenis" a écrit dans le message de news:
Bonjour Jean,
| Comment faire pour effacer par exemple la deuxième entrée ?
Myarray(3,3) = ""
Tu cherches autre chose ?
Salutations !
"Jean" a écrit dans le message de news: 43e8dfd1$0$29197$ Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3) Myarray (1,1) = nom1 Myarray (1,2) = fonction1 Myarray (1,3) = mail 1 Myarray (2,1) = nom2 Myarray (2,2) = fonction2 Myarray (2,3) = mail 2 Myarray (3,1) = nom3 Myarray (3,2) = fonction3 Myarray(3,3) = mail 3 Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
Merci d'avance
Jean
Hervé
Bonsoir Jean,
En complément de Denis (où les valeurs seront égales à une chaine vide mais la dimension du tableau non changée). Il te faut utiliser un autre tableau que tu redimensionne de façon dynamique en supprimant le ou les enregistrements désirés et dans ce cas, tu n'aura pas de "trou" dans ton tableau :
Sub Tableau() Dim Myarray(1 To 3, 1 To 3) '(1 To 3, 1 To 20) Dim Tbl() Dim I As Integer, J As Integer
For I = 1 To UBound(Myarray, 2) 'suprime le 2ème enregistrement 'ou en passant par un Select Case si plusieurs 'Select Case I ' Case Is <> 2, Is <> 5, Is <> 9 'etc... ' code... 'End Select If I <> 2 Then J = J + 1 'seule la dernière dimension 'est modifiable d'où la nécessité de 'modifier la structure du tableau '(1 To 3, 1 To 20) et non (1 To 20, 1 To 3) ReDim Preserve Tbl(1 To 3, 1 To J) Tbl(1, J) = Myarray(1, I) Tbl(2, J) = Myarray(2, I) Tbl(3, J) = Myarray(3, I) End If Next I
'résultat... For I = 1 To UBound(Tbl, 2) Debug.Print Tbl(1, I); " "; Tbl(2, I); " "; Tbl(3, I) Next I
Erase Myarray Erase Tbl
End Sub
Si le tableau peut être ramené à une dimension, voir la fonction Filter
Hervé.
"Jean" a écrit dans le message de news: 43e8dfd1$0$29197$
Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3) Myarray (1,1) = nom1 Myarray (1,2) = fonction1 Myarray (1,3) = mail 1 Myarray (2,1) = nom2 Myarray (2,2) = fonction2 Myarray (2,3) = mail 2 Myarray (3,1) = nom3 Myarray (3,2) = fonction3 Myarray(3,3) = mail 3 Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
Merci d'avance
Jean
Bonsoir Jean,
En complément de Denis (où les valeurs seront égales à une chaine vide mais
la dimension du tableau non changée). Il te faut utiliser un autre tableau
que tu redimensionne de façon dynamique en supprimant le ou les
enregistrements désirés et dans ce cas, tu n'aura pas de "trou" dans ton
tableau :
Sub Tableau()
Dim Myarray(1 To 3, 1 To 3) '(1 To 3, 1 To 20)
Dim Tbl()
Dim I As Integer, J As Integer
For I = 1 To UBound(Myarray, 2)
'suprime le 2ème enregistrement
'ou en passant par un Select Case si plusieurs
'Select Case I
' Case Is <> 2, Is <> 5, Is <> 9 'etc...
' code...
'End Select
If I <> 2 Then
J = J + 1
'seule la dernière dimension
'est modifiable d'où la nécessité de
'modifier la structure du tableau
'(1 To 3, 1 To 20) et non (1 To 20, 1 To 3)
ReDim Preserve Tbl(1 To 3, 1 To J)
Tbl(1, J) = Myarray(1, I)
Tbl(2, J) = Myarray(2, I)
Tbl(3, J) = Myarray(3, I)
End If
Next I
'résultat...
For I = 1 To UBound(Tbl, 2)
Debug.Print Tbl(1, I); " "; Tbl(2, I); " "; Tbl(3, I)
Next I
Erase Myarray
Erase Tbl
End Sub
Si le tableau peut être ramené à une dimension, voir la fonction Filter
Hervé.
"Jean" <jj@free.fr> a écrit dans le message de news:
43e8dfd1$0$29197$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3)
Myarray (1,1) = nom1
Myarray (1,2) = fonction1
Myarray (1,3) = mail 1
Myarray (2,1) = nom2
Myarray (2,2) = fonction2
Myarray (2,3) = mail 2
Myarray (3,1) = nom3
Myarray (3,2) = fonction3
Myarray(3,3) = mail 3
Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
En complément de Denis (où les valeurs seront égales à une chaine vide mais la dimension du tableau non changée). Il te faut utiliser un autre tableau que tu redimensionne de façon dynamique en supprimant le ou les enregistrements désirés et dans ce cas, tu n'aura pas de "trou" dans ton tableau :
Sub Tableau() Dim Myarray(1 To 3, 1 To 3) '(1 To 3, 1 To 20) Dim Tbl() Dim I As Integer, J As Integer
For I = 1 To UBound(Myarray, 2) 'suprime le 2ème enregistrement 'ou en passant par un Select Case si plusieurs 'Select Case I ' Case Is <> 2, Is <> 5, Is <> 9 'etc... ' code... 'End Select If I <> 2 Then J = J + 1 'seule la dernière dimension 'est modifiable d'où la nécessité de 'modifier la structure du tableau '(1 To 3, 1 To 20) et non (1 To 20, 1 To 3) ReDim Preserve Tbl(1 To 3, 1 To J) Tbl(1, J) = Myarray(1, I) Tbl(2, J) = Myarray(2, I) Tbl(3, J) = Myarray(3, I) End If Next I
'résultat... For I = 1 To UBound(Tbl, 2) Debug.Print Tbl(1, I); " "; Tbl(2, I); " "; Tbl(3, I) Next I
Erase Myarray Erase Tbl
End Sub
Si le tableau peut être ramené à une dimension, voir la fonction Filter
Hervé.
"Jean" a écrit dans le message de news: 43e8dfd1$0$29197$
Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3) Myarray (1,1) = nom1 Myarray (1,2) = fonction1 Myarray (1,3) = mail 1 Myarray (2,1) = nom2 Myarray (2,2) = fonction2 Myarray (2,3) = mail 2 Myarray (3,1) = nom3 Myarray (3,2) = fonction3 Myarray(3,3) = mail 3 Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
Merci d'avance
Jean
JLuc
*Bonjour Jean*, Tu peux faire une boucle a partir de la ligne a supprimer
total=Lbound(MyArray) ' Taille du tableau For x = pos To total - 1 ' Jusqu'a la fin -1 MyArray(x) = MyArray(x + 1) 'Adapte pour plusieurs colonnes Next ' Boucle Redim Preserve MyArray(total - 1) ' Redefini le nb d'enreg.
Oui je cherche autre chose car dans ton exemple, tu ne fais que mettre un valeur à zéro. Moi j'aimerais effacer une entrée compléte. Dans mon exemple ci-dessous, effacer par exemple nom2, fonction2 et mail2 c'est à dire qu'après l'opération, Myarray(2,1) sera égale à nom3 Myarray(2,2) sera égale à fonction3 et Myarray (2,3) sera égale à mail 3
jean
"michdenis" a écrit dans le message de news:
Bonjour Jean,
| Comment faire pour effacer par exemple la deuxième entrée ?
Myarray(3,3) = ""
Tu cherches autre chose ?
Salutations !
"Jean" a écrit dans le message de news: 43e8dfd1$0$29197$ Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3) Myarray (1,1) = nom1 Myarray (1,2) = fonction1 Myarray (1,3) = mail 1 Myarray (2,1) = nom2 Myarray (2,2) = fonction2 Myarray (2,3) = mail 2 Myarray (3,1) = nom3 Myarray (3,2) = fonction3 Myarray(3,3) = mail 3 Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
Merci d'avance
Jean
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
*Bonjour Jean*,
Tu peux faire une boucle a partir de la ligne a supprimer
total=Lbound(MyArray) ' Taille du tableau
For x = pos To total - 1 ' Jusqu'a la fin -1
MyArray(x) = MyArray(x + 1) 'Adapte pour plusieurs colonnes
Next ' Boucle
Redim Preserve MyArray(total - 1) ' Redefini le nb d'enreg.
Oui je cherche autre chose car dans ton exemple, tu ne fais que mettre un
valeur à zéro.
Moi j'aimerais effacer une entrée compléte.
Dans mon exemple ci-dessous, effacer par exemple nom2, fonction2 et mail2
c'est à dire qu'après l'opération,
Myarray(2,1) sera égale à nom3
Myarray(2,2) sera égale à fonction3
et Myarray (2,3) sera égale à mail 3
jean
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
eyjlAIBLGHA.2320@TK2MSFTNGP11.phx.gbl...
Bonjour Jean,
| Comment faire pour effacer par exemple la deuxième entrée ?
Myarray(3,3) = ""
Tu cherches autre chose ?
Salutations !
"Jean" <jj@free.fr> a écrit dans le message de news:
43e8dfd1$0$29197$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3)
Myarray (1,1) = nom1
Myarray (1,2) = fonction1
Myarray (1,3) = mail 1
Myarray (2,1) = nom2
Myarray (2,2) = fonction2
Myarray (2,3) = mail 2
Myarray (3,1) = nom3
Myarray (3,2) = fonction3
Myarray(3,3) = mail 3
Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
*Bonjour Jean*, Tu peux faire une boucle a partir de la ligne a supprimer
total=Lbound(MyArray) ' Taille du tableau For x = pos To total - 1 ' Jusqu'a la fin -1 MyArray(x) = MyArray(x + 1) 'Adapte pour plusieurs colonnes Next ' Boucle Redim Preserve MyArray(total - 1) ' Redefini le nb d'enreg.
Oui je cherche autre chose car dans ton exemple, tu ne fais que mettre un valeur à zéro. Moi j'aimerais effacer une entrée compléte. Dans mon exemple ci-dessous, effacer par exemple nom2, fonction2 et mail2 c'est à dire qu'après l'opération, Myarray(2,1) sera égale à nom3 Myarray(2,2) sera égale à fonction3 et Myarray (2,3) sera égale à mail 3
jean
"michdenis" a écrit dans le message de news:
Bonjour Jean,
| Comment faire pour effacer par exemple la deuxième entrée ?
Myarray(3,3) = ""
Tu cherches autre chose ?
Salutations !
"Jean" a écrit dans le message de news: 43e8dfd1$0$29197$ Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3) Myarray (1,1) = nom1 Myarray (1,2) = fonction1 Myarray (1,3) = mail 1 Myarray (2,1) = nom2 Myarray (2,2) = fonction2 Myarray (2,3) = mail 2 Myarray (3,1) = nom3 Myarray (3,2) = fonction3 Myarray(3,3) = mail 3 Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
Merci d'avance
Jean
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
JLuc
*Bonjour Jean*, Tu peux faire une boucle a partir de la ligne a supprimer
total=Lbound(MyArray) ' Taille du tableau Petite erreur, pas Lbound mais Ubound ;-)
For x = pos To total - 1 ' Jusqu'a la fin -1 MyArray(x) = MyArray(x + 1) 'Adapte pour plusieurs colonnes Next ' Boucle Redim Preserve MyArray(total - 1) ' Redefini le nb d'enreg.
Oui je cherche autre chose car dans ton exemple, tu ne fais que mettre un valeur à zéro. Moi j'aimerais effacer une entrée compléte. Dans mon exemple ci-dessous, effacer par exemple nom2, fonction2 et mail2 c'est à dire qu'après l'opération, Myarray(2,1) sera égale à nom3 Myarray(2,2) sera égale à fonction3 et Myarray (2,3) sera égale à mail 3
jean
"michdenis" a écrit dans le message de news:
Bonjour Jean,
| Comment faire pour effacer par exemple la deuxième entrée ?
Myarray(3,3) = ""
Tu cherches autre chose ?
Salutations !
"Jean" a écrit dans le message de news: 43e8dfd1$0$29197$ Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3) Myarray (1,1) = nom1 Myarray (1,2) = fonction1 Myarray (1,3) = mail 1 Myarray (2,1) = nom2 Myarray (2,2) = fonction2 Myarray (2,3) = mail 2 Myarray (3,1) = nom3 Myarray (3,2) = fonction3 Myarray(3,3) = mail 3 Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
Merci d'avance
Jean
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
*Bonjour Jean*,
Tu peux faire une boucle a partir de la ligne a supprimer
total=Lbound(MyArray) ' Taille du tableau
Petite erreur, pas Lbound mais Ubound ;-)
For x = pos To total - 1 ' Jusqu'a la fin -1
MyArray(x) = MyArray(x + 1) 'Adapte pour plusieurs colonnes
Next ' Boucle
Redim Preserve MyArray(total - 1) ' Redefini le nb d'enreg.
Oui je cherche autre chose car dans ton exemple, tu ne fais que mettre un
valeur à zéro.
Moi j'aimerais effacer une entrée compléte.
Dans mon exemple ci-dessous, effacer par exemple nom2, fonction2 et mail2
c'est à dire qu'après l'opération,
Myarray(2,1) sera égale à nom3
Myarray(2,2) sera égale à fonction3
et Myarray (2,3) sera égale à mail 3
jean
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
eyjlAIBLGHA.2320@TK2MSFTNGP11.phx.gbl...
Bonjour Jean,
| Comment faire pour effacer par exemple la deuxième entrée ?
Myarray(3,3) = ""
Tu cherches autre chose ?
Salutations !
"Jean" <jj@free.fr> a écrit dans le message de news:
43e8dfd1$0$29197$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3)
Myarray (1,1) = nom1
Myarray (1,2) = fonction1
Myarray (1,3) = mail 1
Myarray (2,1) = nom2
Myarray (2,2) = fonction2
Myarray (2,3) = mail 2
Myarray (3,1) = nom3
Myarray (3,2) = fonction3
Myarray(3,3) = mail 3
Etc..
Comment faire pour effacer par exemple la deuxième entrée ?
*Bonjour Jean*, Tu peux faire une boucle a partir de la ligne a supprimer
total=Lbound(MyArray) ' Taille du tableau Petite erreur, pas Lbound mais Ubound ;-)
For x = pos To total - 1 ' Jusqu'a la fin -1 MyArray(x) = MyArray(x + 1) 'Adapte pour plusieurs colonnes Next ' Boucle Redim Preserve MyArray(total - 1) ' Redefini le nb d'enreg.
Oui je cherche autre chose car dans ton exemple, tu ne fais que mettre un valeur à zéro. Moi j'aimerais effacer une entrée compléte. Dans mon exemple ci-dessous, effacer par exemple nom2, fonction2 et mail2 c'est à dire qu'après l'opération, Myarray(2,1) sera égale à nom3 Myarray(2,2) sera égale à fonction3 et Myarray (2,3) sera égale à mail 3
jean
"michdenis" a écrit dans le message de news:
Bonjour Jean,
| Comment faire pour effacer par exemple la deuxième entrée ?
Myarray(3,3) = ""
Tu cherches autre chose ?
Salutations !
"Jean" a écrit dans le message de news: 43e8dfd1$0$29197$ Bonjour à tous,
Voila mon problème, j'ai un tableau ci-dessous:
Dim Myarray(1 to 20, 1 to 3) Myarray (1,1) = nom1 Myarray (1,2) = fonction1 Myarray (1,3) = mail 1 Myarray (2,1) = nom2 Myarray (2,2) = fonction2 Myarray (2,3) = mail 2 Myarray (3,1) = nom3 Myarray (3,2) = fonction3 Myarray(3,3) = mail 3 Etc..
Comment faire pour effacer par exemple la deuxième entrée ?