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

K

katial

Guest
Bonjour tout le monde,
J'ai besoin de votre aide,
Je dois realiser une macro qui recupererai tous les mots d'une cellule pour les separer et les placer chacun dans une cellule differente.
voici le debut de ma macro qui ne recopie que le premier em partant de droite.
comment puis faire pour les autres mots?

Private Sub CommandButton1_Click()
Dim i, k As Integer
Dim current, DernierNom As String

For i = 1 To 5732
k = 1
For k = 1 To 100
current = Left(Right(Range("C" & i), k), 1)
If current = " " Then
DernierNom = Right(Range("C" & i), k - 1)
GoTo Line12
End If
Next k
Line12: Range("D" & i) = DernierNom
Next i

End Sub


Merci par avance😱
 
Re : vba

bonjour katial,

voici une macro utilisant les fonctionalités de conversion d'excel (menu données/convertir) et adaptée après enregistrement par l'enregiteur de macro.

Code:
Selection.TextToColumns Destination:=ActiveCell, DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False


A bientôt
 
Re : vba

merci a vous je vais essayer!

Une fois que j'ai mes mots dans differentes cases je voudrai une macro qui recopierai dans une autre cas tout les mot place devant un mot special:

je mexplique:
si jai
chien/chat/ maison/ballon
et dans une autre ligne j'ai
ballon/chat/maison/chien

j'aimerai que la macro recopie le mot place juste devant maison pour toute les lignes dans une case de chaque ligne

😕

Avez vous une idee?
 
Re : vba

bien vu Pierre Jean

Code:
Sub cartman()

For i = 2 To 15
chaine = Cells(i, 1)
tableau = Split(chaine)
    For z = 1 To UBound(tableau)
        If tableau(z) Like "*S/S*" Then
            Cells(i, 2) = tableau(z - 1)
        End If
    Next z
Next i
End Sub
j avais fais ca ...
 
Re : vba

Bonjour tout lemonde,

hier vous m'avez bien aide cependant j'ai de nouveau un probleme.
je me suis apercu que le mot a recopier netait pas suffisant j'aimerai recopier les trois mots devant S/S.

Voir fichier ci dessus

merci par avence car je ne trouve pas la solution,
je ne suis pas du tout forte en vba
 
Re : vba

Merci PierreJean,
ca fonctionne!!!
cette fois j'essaye d'ajouter un terme ou il y aurait par exemple S/Skatial
car dans mon fichier d'origine il y a parfois des mots accoles avant ou apres S/S.
j'ai essaye de rajouter dans la macro
If x(m) = "S/S," Or x(m) = "S/S" Or x(m) = "*S/S*" Then
Mais ca ne fonctionne pas ca ne detecte plus le mot S/S et donc ca ne recopie plus les mot devant.
 

Pièces jointes

- 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
8
Affichages
390
Réponses
4
Affichages
281
Réponses
4
Affichages
735
Réponses
15
Affichages
788
Réponses
5
Affichages
914
Réponses
2
Affichages
257
Retour