Concatener un tableau() après suppression d'un élément

  • Initiateur de la discussion Initiateur de la discussion Roland_M
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Roland_M

XLDnaute Barbatruc
bien le bonjour à tous et bon week-end ensolleillé

existe t'il une fonction VBA pour concatener un tableau sans avoir à passer par des boucles ? quelque chose du genre remove !
(je ne pense pas mais il y a tellement de ressources en vb !?)

exemple concret et très simple, Tableau A(1 to 5)
A(1)=1 A(2)=2 A(3)=3 A(4)=4 A(5)=5

si je met A(3)=0 je souhaiterai décaler cet élément en dernier pour avoir ceci:
A(1)=1 A(2)=2 A(3)=4 A(4)=5 A(5)=0 <<<

actuellement pour décaler un l'élément je dois chaque fois boucler avec deux For...Next pour ramener tous les éléments afin d'avoir le supprimé en dernier, et sur un très grand tableau c'est un peu long !

Merci d'avance Roland
 
Dernière édition:
Re : Concatener un tableau() après suppression d'un élément

Bonjour Roland,

Pour le 1er cas, voici une méthode pour concaténer les éléments d'un tableau

Code:
    Dim A(1 To 5)
    Dim chaine As String
    
    A(1) = 1
    A(2) = 2
    A(3) = 3
    A(4) = 4
    A(5) = 5

    chaine = Join(A(), "")

Pour le 2me cas, si je trouve une solution et je te l'envoie.
 
Re : Concatener un tableau() après suppression d'un élément

re
merci pour ta réponse Cbea, mais concatener n'est peut être pas le terme approprié !
car je veux garder mon tableau ! je souhaiterai quelque chose du genre
A(1)=1 A(2)=2 A(3)=3 ...
remove A(2) et j'aurai le résultat:
A(1)=1
A(2)=3
A(3)=""

un peu comme on ferai pour une collection d'où on peut utiliser remove
à part qu'avec remove l'élément est totalement supprimé !

Roland
 
Re : Concatener un tableau() après suppression d'un élément

Bonjour Roland, cbea

peut être comme ceci, mais à voir dans le contexte où tu veux l'utiliser:

Code:
Dim t(0 To 2) As Variant, temp
t(0) = 1
t(1) = 2
t(2) = 3

temp = t(1)
t(1) = t(2)
t(2) = temp

bonne journée
@+
 
Re : Concatener un tableau() après suppression d'un élément

Salut,
je ne sais pas exactement comment tu utilises ce tableau mais tu peux eventuellement utiliser une combobox.
Ci joint un fichier avec un exemple :
En colonne a ta table de donnée.
Et en c2 tu peux verifier le contenu de ton 'tableau'

Voilà @+

Dudu
 

Pièces jointes

Re : Concatener un tableau() après suppression d'un élément

bonsoir à tous

Le Sub est un peu plus compliqué que cet exemple, mais c'est pour la clarté !
Supposons que je supprime L'Idx(150) d'un tableau (qui contient pas moins de 6000 données)
Afin de garder le tableau sans élément vide entre eux je dois tout décaler
en transférent Idx(150)=Idx(151) Idx(151)=Idx(152) ... jusqu'au dernier

Code:
Sub NewPointagSuppr(Idx)
For X = Idx To MaxPointage - 1: NewPointag(X) = NewPointag(X + 1): Next
NewPointag(MaxPointage) = ""
End Sub

j'espérai donc avoir une fonction(si elle existe) du genre NewPointag.RemoveItem (Idx)
mais RemoveItem, bien entendu, ne peut pas s'appliquer ici !

ceci pour éviter d'avoir à décaler tout le tableau chaque fois par boucle
mais je pense que ce n'est guère possible autrement !?

Roland
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
288
Réponses
23
Affichages
677
Réponses
7
Affichages
482
Réponses
15
Affichages
786
Retour