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

Mettre la valeur d'une cellule dans un tableau

  • Initiateur de la discussion Initiateur de la discussion willy75
  • 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 !

W

willy75

Guest
Bonjour à tous,

J'ai un problème bien fâcheux... J'ai une cellule qui contient du texte et je souhaiterais mettre ce texte dans un tableau. Je suis novice sur sur excel et encore plus en VBA.

Voilà ce que je voudrais faire en gros:

Sub test()
Dim tabl() As String
Dim mot As String
Sheets("feuil1").Select
Range("A1").Select
mot = ActiveCell.Value
tabl() = mot
End Sub

Dans la cellule A1 il y a du texte évidemment.


Merci pour votre aide 😀
 
Re : Mettre la valeur d'une cellule dans un tableau

Bonjour.
Par définition un tableau est une série de données rangées à des emplacements contigus en mémoire.
Ça n'a donc pas de sens de vouloir y mettre une donnée élémentaire, à moins qu'il n’existe une règle bien définie pour la transformer en cela, telle que d'isoler les mots séparés par des blancs par exemple, mais vous n'avez pas dit que c'est ce que vous voulez.
Vous pouvez en revanche affecter une donnée élémentaire à un élément du tableau. Pour cela il faut indiquer l'(les)indice(s) où vous voulez le mettre, compris dans les limites spécifiées au Dim ou, sinon au Redim (que vous n'avez pas mis, donc votre tableau n'y est pas prêt).
À +
 
Dernière édition:
Re : Mettre la valeur d'une cellule dans un tableau

Pour remettre le problème dans son complexe, j'ai plusieurs cellules qui contiennent divers informations. Parmi ces informations qui se présentent comme suivant: " 5248 V5 2k2 6%" je voulais stocker ce string pour détecter la présence du "k" et prendre "2k2" ce qui correspond à ce qu'il y a entre les espaces les plus proches de "k".

Si il y a une fonction qui me permet de prendre juste une partie du string, à savoir la partie entre les deux espaces les plus proches du "k", je prends. Autre information importante, la taille du string est variable selon les cellules.
 
Re : Mettre la valeur d'une cellule dans un tableau

VB:
Function MotAvecK(Texte As String) As String
Dim Tabl() As String, N As Long
Tabl = Split(Texte, " ")
For N = 0 To UBound(Tabl)
   If InStr(Tabl(N), "k") > 0 Then MotAvecK = Tabl(N): Exit Function
   Next N
MotAvecK = ""
End Function
Si A1 ="5248 V5 2k2 6%", "2k2" est bien rendu par :
Code:
=MotAvecK($A1)
Cordialement.
 
Re : Mettre la valeur d'une cellule dans un tableau

Purée, moi qui cherchais comment utiliser la fonction split, car j'arrivais pas à l'exploiter. Deux résolutions en 1. Merci, ça fonctionne super.
 
Re : Mettre la valeur d'une cellule dans un tableau

J'ai écrit depuis votre réponse une fonction plus générale:
VB:
Function PlusCourtTrouvé(Texte As String, Quoi As String) As String
Dim Tabl() As String, N As Long, L As Long
Tabl = Split(Texte, " ")
PlusCourtTrouvé = ""
For N = 0 To UBound(Tabl)
   If Tabl(N) Like Quoi And (PlusCourtTrouvé = "" Or Len(Tabl(N)) < Len(PlusCourtTrouvé)) Then PlusCourtTrouvé = Tabl(N)
   Next N
End Function
qui donne aussi "2k2" en spécifiant "*2*" par exemple:
Code:
=PlusCourtTrouvé($A$1;"*2*")
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
521
  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
433
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…