Utilisation valeur inputbox dans IF
sam
-
sam -
sam -
Bonjour,
N'étant pas du tout une expert en VBA (et ayant fouillée déjà pas mal de forum en tout genre sinon je ne vous dérangerais pas ^^'), j'aurais besoin de vos lumières s'il-vous-plait...
Je vous explique mon objectif :
Je dispose d'une base avec en colonne A des commentaires et je voudrais coder en colonne B le sujet que traite ces commentaires (par exemple A2= "la météo est vraiment agréable aujourd'hui" > B2 = 1, 1 faisant référence au sujet 1 : météo).
J'arrive à faire cette opération avec un contenu directement écrit dans la macro (si j'écris "météo" il arrive à me coder 1 lorsque ce mot apparait dans le commentaire) mais l'idée étant de pouvoir simplifier le codage, y compris à des collègues qui n'y connaissent rien en VBA, et pour divers sujets, j'ai entrepris d'avoir recours à une Imputbox.
Mon but : que pour n'importe quel fichier (construit de la même manière), chacun puisse noter dans l'Inputbox le sujet qui l'intéresse et que le codage se fasse. L'idée étant ensuite de pouvoir proposer plusieurs codes et non un seul (un même fichier peut traiter de météo -codé 1, de restaurant -codé 2..., selon ce que l'utilisateur décide).
J'espère que c'est compréhensible...?
Voilà le code que j'ai commencé.
Je me doute qu'il y a surement des choses qui peuvent être mieux faites (je prends bien sûr vos remarques) mais soyez indulgent pour l'instant le but était juste que ça fonctionne...
Merci de votre aide !
Jusque là tout fonctionne, mon problème se trouve lorsque je passe au codage des commentaires (ICI).
Aucun message d'erreur, j'ai juste l'impression qu'il ne reconnait pas Valeur1 comme le résultat de mon InputBox mais comme la valeur qu'il doit chercher (évidemment aucun des commentaires ne contient ça donc je n'obtiens que des 0). Si vous pouvez m'éclairer parce que je ne vois pas ce qu'il faut changer pour que ça fonctionne...
N'étant pas du tout une expert en VBA (et ayant fouillée déjà pas mal de forum en tout genre sinon je ne vous dérangerais pas ^^'), j'aurais besoin de vos lumières s'il-vous-plait...
Je vous explique mon objectif :
Je dispose d'une base avec en colonne A des commentaires et je voudrais coder en colonne B le sujet que traite ces commentaires (par exemple A2= "la météo est vraiment agréable aujourd'hui" > B2 = 1, 1 faisant référence au sujet 1 : météo).
J'arrive à faire cette opération avec un contenu directement écrit dans la macro (si j'écris "météo" il arrive à me coder 1 lorsque ce mot apparait dans le commentaire) mais l'idée étant de pouvoir simplifier le codage, y compris à des collègues qui n'y connaissent rien en VBA, et pour divers sujets, j'ai entrepris d'avoir recours à une Imputbox.
Mon but : que pour n'importe quel fichier (construit de la même manière), chacun puisse noter dans l'Inputbox le sujet qui l'intéresse et que le codage se fasse. L'idée étant ensuite de pouvoir proposer plusieurs codes et non un seul (un même fichier peut traiter de météo -codé 1, de restaurant -codé 2..., selon ce que l'utilisateur décide).
J'espère que c'est compréhensible...?
Voilà le code que j'ai commencé.
Je me doute qu'il y a surement des choses qui peuvent être mieux faites (je prends bien sûr vos remarques) mais soyez indulgent pour l'instant le but était juste que ça fonctionne...
Merci de votre aide !
'ajouter formulaire pour que l'utilisateur détermine quels mots chercher
Dim Valeur1 As String
Valeur1 = InputBox("Entrez le premier mot à coder : ", "Coder le premier mot")
' Ajouter deux lignes avec le code et sa valeur
Rows("2:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
' valeur
Range("B2").Value = Valeur1
' code
Range("B3").Value = 1
' Analyse qualitative : si la cellule contient ... coder .
Dim i As Long
Dim maLigne As Long
maLigne = Range("A" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
For i = 4 To maLigne
If Range("A" & i).Value Like Valeur1 Then ' ICI
Range("B" & i).Select
ActiveCell.FormulaR1C1 = "1" 'coder 1 si la valeur de l'Inputbox se trouve dans le commentaire
Else: Range("B" & i) = "0" ' 0 sinon
End If
Next i
Jusque là tout fonctionne, mon problème se trouve lorsque je passe au codage des commentaires (ICI).
Aucun message d'erreur, j'ai juste l'impression qu'il ne reconnait pas Valeur1 comme le résultat de mon InputBox mais comme la valeur qu'il doit chercher (évidemment aucun des commentaires ne contient ça donc je n'obtiens que des 0). Si vous pouvez m'éclairer parce que je ne vois pas ce qu'il faut changer pour que ça fonctionne...
A voir également:
- Récupérer valeur inputbox vba
- Recuperer message whatsapp supprimé - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Comment recuperer une video sur youtube - Guide
- Impossible de récupérer mon compte gmail - Guide
3 réponses
Bonjour,
a voir, le lien est en anglais mais le contenu est en français :
https://docs.microsoft.com/fr-fr/dotnet/visual-basic/language-reference/operators/like-operator
a voir, le lien est en anglais mais le contenu est en français :
https://docs.microsoft.com/fr-fr/dotnet/visual-basic/language-reference/operators/like-operator