Extraire les valeurs de cellules contenant x
corben
-
David -
David -
Bonjour,
Je suis nouveau sur le forum, aussi, pardonnez mes questions de débutant...
Je dispose d'une feuille dans laquelle des cellules contiennent le caractère "X" suivi de données (une donnée par cellule, par exemple 12.589).
Je souhaiterais savoir s'il serait possible d'extraire toutes ces données (lesquelles pouvant se trouver n'importe où dans une feuille contenant trois colonnes A, B et C) et de les coller dans une autre colonne de cette même feuille (par exemple D).
Merci beaucoup pour votre aide à tous
Je suis nouveau sur le forum, aussi, pardonnez mes questions de débutant...
Je dispose d'une feuille dans laquelle des cellules contiennent le caractère "X" suivi de données (une donnée par cellule, par exemple 12.589).
Je souhaiterais savoir s'il serait possible d'extraire toutes ces données (lesquelles pouvant se trouver n'importe où dans une feuille contenant trois colonnes A, B et C) et de les coller dans une autre colonne de cette même feuille (par exemple D).
Merci beaucoup pour votre aide à tous
A voir également:
- Extraire les valeurs de cellules contenant x
- Site x - Guide
- Sites X : Pornhub, YouPorn et Redtube sont de nouveau accessibles en France - Guide
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Somme de plusieurs cellules excel - Guide
7 réponses
Salut corben
Si je comprends bien ton problème :
tu as 3 colonne, tu veux récupérer la valeurs des cellules qui contient un x dans une quatrième colone,
Question
Comment ca se passe si sur la meme ligne, 2 colonnes ont un x ?
David
Si je comprends bien ton problème :
tu as 3 colonne, tu veux récupérer la valeurs des cellules qui contient un x dans une quatrième colone,
Question
Comment ca se passe si sur la meme ligne, 2 colonnes ont un x ?
David
Je t'ais fait une petite fonction qui devrais te suffire après adaptation pour 3 colonnes
Sub verif_x()
Dim i, temp
i = 1
While Not Cells(i, 1) = ""
For j = 0 To Len(CStr(Cells(i, 1)))
temp = Mid(CStr(Cells(i, 1)), j + 1, 1)
If (temp = "x") Then
Cells(i, 2) = Cells(i, 1)
Exit For
End If
Next
i = i + 1
Wend
End Sub
David
Sub verif_x()
Dim i, temp
i = 1
While Not Cells(i, 1) = ""
For j = 0 To Len(CStr(Cells(i, 1)))
temp = Mid(CStr(Cells(i, 1)), j + 1, 1)
If (temp = "x") Then
Cells(i, 2) = Cells(i, 1)
Exit For
End If
Next
i = i + 1
Wend
End Sub
David
Salut David,
Je suis vraiment débutant en la matière alors j'ai essayé de coller ton code dans "Module1" sous visual basic (depuis Excel) et la Macro ne modifie rien à mon fichier de départ. Je ne sais pas où sont placée les valeurs extraites et comment modifier ton code pour obtenir des résultats.
Peux tu m'aiguiller un peu plus ?
Merci de m'avoir répondu aussi rapidement, en attendant, je vais essayer de comprendre comment fonctionne ton code...
Corben
Je suis vraiment débutant en la matière alors j'ai essayé de coller ton code dans "Module1" sous visual basic (depuis Excel) et la Macro ne modifie rien à mon fichier de départ. Je ne sais pas où sont placée les valeurs extraites et comment modifier ton code pour obtenir des résultats.
Peux tu m'aiguiller un peu plus ?
Merci de m'avoir répondu aussi rapidement, en attendant, je vais essayer de comprendre comment fonctionne ton code...
Corben
Re
Sub verif_num()
Dim i, temp
i = 1
While Not Cells(i, 1) = ""
For j = 0 To Len(CStr(Cells(i, 1)))
temp = Mid(CStr(Cells(i, 1)), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 1)
Exit For
End If
Next
i = i + 1
Wend
i = 1
While Not Cells(i, 2) = ""
For j = 0 To Len(CStr(Cells(i, 2)))
temp = Mid(CStr(Cells(i, 2)), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 2)
Exit For
End If
Next
i = i + 1
Wend
i = 1
While Not Cells(i, 3) = ""
For j = 0 To Len(CStr(Cells(i, 3)))
temp = Mid(CStr(Cells(i, 3)), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 3)
Exit For
End If
Next
i = i + 1
Wend
End Sub
Voila un script qui devrais te permettre de parcourir les 3 colonnes de ton fichier.
Ouvre vb via le raccourci clavier alt F11
double clique sur la feuille que tu veux traiter
colle le code que je t'ais donné
puis click sur le logo play en haut
En théorie, si tu reviens sur ton fichier de base, ca devrai t'avoir mis les cellules comportant des x dans la cellule 4 de la meme ligne
Voila
David
Sub verif_num()
Dim i, temp
i = 1
While Not Cells(i, 1) = ""
For j = 0 To Len(CStr(Cells(i, 1)))
temp = Mid(CStr(Cells(i, 1)), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 1)
Exit For
End If
Next
i = i + 1
Wend
i = 1
While Not Cells(i, 2) = ""
For j = 0 To Len(CStr(Cells(i, 2)))
temp = Mid(CStr(Cells(i, 2)), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 2)
Exit For
End If
Next
i = i + 1
Wend
i = 1
While Not Cells(i, 3) = ""
For j = 0 To Len(CStr(Cells(i, 3)))
temp = Mid(CStr(Cells(i, 3)), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 3)
Exit For
End If
Next
i = i + 1
Wend
End Sub
Voila un script qui devrais te permettre de parcourir les 3 colonnes de ton fichier.
Ouvre vb via le raccourci clavier alt F11
double clique sur la feuille que tu veux traiter
colle le code que je t'ais donné
puis click sur le logo play en haut
En théorie, si tu reviens sur ton fichier de base, ca devrai t'avoir mis les cellules comportant des x dans la cellule 4 de la meme ligne
Voila
David
Re,
J'ai suivi tes consignes mais mon fichier Excel n'est toujours pas modifié.
Il se présente sous cette forme (pour l'exemple que je cherche à faire fonctionner!)
A B C
1 X1.8 Y23.1 Z153
2 X132 Y3564 Z1.854
3 X1.58 Y65.6 Z64.56
......
Par la suite, il pourra y avoir des lignes sans x par exemple.
Je ne sais pas ce que je ne fais pas bien........
Merci de ton aide..
Corben
J'ai suivi tes consignes mais mon fichier Excel n'est toujours pas modifié.
Il se présente sous cette forme (pour l'exemple que je cherche à faire fonctionner!)
A B C
1 X1.8 Y23.1 Z153
2 X132 Y3564 Z1.854
3 X1.58 Y65.6 Z64.56
......
Par la suite, il pourra y avoir des lignes sans x par exemple.
Je ne sais pas ce que je ne fais pas bien........
Merci de ton aide..
Corben
Tiens mets ca meme
Je balance tout en minuscule au moins, il n'y a pas de souci
Sub verif_num()
Dim i, temp
i = 1
While Not Cells(i, 1) = ""
For j = 0 To Len(CStr(Cells(i, 1)))
temp = Mid(LCase(CStr(Cells(i, 1))), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 1)
Exit For
End If
Next
i = i + 1
Wend
i = 1
While Not Cells(i, 2) = ""
For j = 0 To Len(CStr(Cells(i, 2)))
temp = Mid(LCase(CStr(Cells(i, 2))), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 2)
Exit For
End If
Next
i = i + 1
Wend
i = 1
While Not Cells(i, 3) = ""
For j = 0 To Len(CStr(Cells(i, 3)))
temp = Mid(LCase(CStr(Cells(i, 3))), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 3)
Exit For
End If
Next
i = i + 1
Wend
End Sub
David
Je balance tout en minuscule au moins, il n'y a pas de souci
Sub verif_num()
Dim i, temp
i = 1
While Not Cells(i, 1) = ""
For j = 0 To Len(CStr(Cells(i, 1)))
temp = Mid(LCase(CStr(Cells(i, 1))), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 1)
Exit For
End If
Next
i = i + 1
Wend
i = 1
While Not Cells(i, 2) = ""
For j = 0 To Len(CStr(Cells(i, 2)))
temp = Mid(LCase(CStr(Cells(i, 2))), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 2)
Exit For
End If
Next
i = i + 1
Wend
i = 1
While Not Cells(i, 3) = ""
For j = 0 To Len(CStr(Cells(i, 3)))
temp = Mid(LCase(CStr(Cells(i, 3))), j + 1, 1)
If (temp = "x") Then
Cells(i, 4) = Cells(i, 3)
Exit For
End If
Next
i = i + 1
Wend
End Sub
David
Merci beaucoup, et excuse moi pour l'erreur grossière........... je ne savais même pas que les minuscules et majuscules étaient différenciées...
A bientôt,
Corben
A bientôt,
Corben
Ca fonctionne très bien, je vais essayer de modifier cela afin que ça prenne les valeurs de X lorsque le X se trouve dans la colonne B ou C car pour le moment ça ne prend que les valeurs de la colonne A.
Merci pour ton aide,
Corben
Merci pour ton aide,
Corben
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ouah, ça va tellement vite que c'est quasiment du chat ! Je mets résolu et continue mes recherches !
Corben
Corben
Dans mon cas, il ne peut pas y avoir deux fois X sur la même ligne. Par contre, les cellules contenant les x ne sont pas forcément toujours dans la même colonne même si EN GENERAL (pas toujours, si non ça aurait été plus simple !), la colonne A contient les X, la colonne B les Y et la colonne C, les Z !
Je vais essayer ton programme tout de suite !
Merci beaucoup !
A bienôt,
Corben