Exercice d'entrainement
Bilal57
Messages postés
3
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Le prof nous a demandé de créer un programme qui étant donné un tableau de chaîne de caractère trié, de supprimer les doublons et de ressortir le résultat sous forme d'un tableau, j'ai testé une solution mais cela ne fonctionne pas, est ce que quelqu'un pourrait me dire d'où viens le problème ? :
Merci d'avance ! :)
Public Function supprimerDoublons(ByRef TabChaine() As String) As String
Dim i As Integer, nb As Integer
Dim TabResultat() As String
nb = 1
ReDim TabResultat(UpperBound(TabChaine))
TabResultat(0) = TabChaine(0)
For i = 1 To UpperBound(TabChaine)
If TabChaine(i) <> TabChaine(i - 1) Then
TabResultat(nb) = TabChaine(i)
nb = nb + 1
End If
Next i
ReDim Preserve TabResultat(nb - 1)
supprimerDoublons = TabResultat()
End Function
Sub Main()
Dim TabChaine() As String
TabChaine(0) = "aaa"
TabChaine(1) = "paa"
TabChaine(2) = "paaa"
TabChaine(3) = "alala"
TabChaine(4) = "alala"
TabChaine(5) = "alala"
TabChaine(6) = "palala"
TabChaine(7) = "alala"
supprimerDoublons
Debug.Print SupprierDoublons
End Sub
Merci d'avance ! :)
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Exercice d'entrainement
- Exercice opérateur de saisie ✓ - Forum Études / Formation High-Tech
- Traitement d'exercice - Forum Bureautique
- Transmath 3eme exercice ✓ - Forum Études / Formation High-Tech
- Corrigé d'un exercice du livre transmaths 3e - Forum Loisirs / Divertissements
- Problème entraînement papier - imprimante canon pixma - Forum Imprimante
4 réponses
Bonjour,
1/ une fonction ne renvoie pas de tableau
2/en VBA, il existe l'objet Dictionary qui élimine les doublons et renvoie la liste unique sous forme d'un tableau...
Donc, si ce n'est pas trop tard,
Un exemple avec Excel
1/ une fonction ne renvoie pas de tableau
2/en VBA, il existe l'objet Dictionary qui élimine les doublons et renvoie la liste unique sous forme d'un tableau...
Donc, si ce n'est pas trop tard,
Un exemple avec Excel
Option Explicit
Dim Dico As Object
'---------------------------------------------------------------------------
Sub supprimerDoublons(ByRef TabChaine() As String)
Dim Cptr As Integer
Set Dico = CreateObject("scripting.dictionary")
For Cptr = 0 To UBound(TabChaine)
If Not Dico.exists(TabChaine(Cptr)) Then
Dico.Add TabChaine(Cptr), ""
End If
Next
End Sub
'------------------------------------------------------------------------
Sub Main()
Dim TabChaine() As String
ReDim TabChaine(7)
TabChaine(0) = "aaa"
TabChaine(1) = "paa"
TabChaine(2) = "paaa"
TabChaine(3) = "alala"
TabChaine(4) = "alala"
TabChaine(5) = "alala"
TabChaine(6) = "palala"
TabChaine(7) = "alala"
Call supprimerDoublons(TabChaine)
Range("B2").Resize(Dico.Count, 1) = Application.Transpose(Dico.keys)
End Sub