Bonjour à tous,
Je rencontre un petit souci avec une macro qui me permet déjà d'extraire tous les mots d'une colonne et de me les compter.
En gros, si en colonne A j'ai :
voiture pas cher
voiture 206
peugeot 206 voiture
la macro me donne cela:
voiture --> 3 (car présent 3 fois au total)
206 --> 2
pas --> 1
cher --> 1
peugeot --> 1
Et c'est exactement ce que je souhaite!
Cela fonctionne avec ceci:
Sub Découpe()
Dim Mot As String, Phrase As String
Dim FinB As Long, FinC As Long
Dim Tourne As Long, Espace As Long, Trouve As Long
Dim Cherche As Range
FinB = Range("B" & Rows.Count).End(xlUp).Row
For Tourne = 3 To FinB
Phrase = Range("b" & Tourne) & " "
Espace = 0
Trouve = 1
Do
Trouve = InStr(Trouve, Phrase, " ") + 1
Mot = LCase(Split(Phrase, " ")(Espace))
Set Cherche = Range("C:C").Find(Mot, lookat:=xlWhole)
If Cherche Is Nothing Then
Range("C" & Range("C" & Rows.Count).End(xlUp).Row + 1) = LCase(Mot)
Range("D" & Range("C" & Rows.Count).End(xlUp).Row) = 1
Else
Range("C" & Cherche.Row) = LCase(Mot)
Range("D" & Cherche.Row) = Range("D" & Cherche.Row) + 1
End If
Espace = Espace + 1
Loop Until InStr(Trouve, Phrase, " ") = 0
Next Tourne
End Sub
Le problème actuel c'est que j'ai un fichier très lourd (350K lignes) et que la macro bug à un moment donné..
et je ne comprends pas l'erreur.. Je pensais que c'était à cause de certains caractères spéciaux mais non..
Voici le fichier en question --> https://www.dropbox.com/s/pvs4z4dqsz34b9j/Maison.xlsx?dl=0
Est-ce que quelqu'un pourrait me dire comment faire fonctionner cette macro sur mon fichier svp?
Merci à tous,
magnusyou
Je rencontre un petit souci avec une macro qui me permet déjà d'extraire tous les mots d'une colonne et de me les compter.
En gros, si en colonne A j'ai :
voiture pas cher
voiture 206
peugeot 206 voiture
la macro me donne cela:
voiture --> 3 (car présent 3 fois au total)
206 --> 2
pas --> 1
cher --> 1
peugeot --> 1
Et c'est exactement ce que je souhaite!
Cela fonctionne avec ceci:
Sub Découpe()
Dim Mot As String, Phrase As String
Dim FinB As Long, FinC As Long
Dim Tourne As Long, Espace As Long, Trouve As Long
Dim Cherche As Range
FinB = Range("B" & Rows.Count).End(xlUp).Row
For Tourne = 3 To FinB
Phrase = Range("b" & Tourne) & " "
Espace = 0
Trouve = 1
Do
Trouve = InStr(Trouve, Phrase, " ") + 1
Mot = LCase(Split(Phrase, " ")(Espace))
Set Cherche = Range("C:C").Find(Mot, lookat:=xlWhole)
If Cherche Is Nothing Then
Range("C" & Range("C" & Rows.Count).End(xlUp).Row + 1) = LCase(Mot)
Range("D" & Range("C" & Rows.Count).End(xlUp).Row) = 1
Else
Range("C" & Cherche.Row) = LCase(Mot)
Range("D" & Cherche.Row) = Range("D" & Cherche.Row) + 1
End If
Espace = Espace + 1
Loop Until InStr(Trouve, Phrase, " ") = 0
Next Tourne
End Sub
Le problème actuel c'est que j'ai un fichier très lourd (350K lignes) et que la macro bug à un moment donné..
et je ne comprends pas l'erreur.. Je pensais que c'était à cause de certains caractères spéciaux mais non..
Voici le fichier en question --> https://www.dropbox.com/s/pvs4z4dqsz34b9j/Maison.xlsx?dl=0
Est-ce que quelqu'un pourrait me dire comment faire fonctionner cette macro sur mon fichier svp?
Merci à tous,
magnusyou
Dernière édition: