Prendre en compte les mots quelle que soit la casse
Résolu/Fermé
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
-
Modifié par Nai le 14/10/2014 à 22:00
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 15 mars 2023 - 15 oct. 2014 à 13:58
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 15 mars 2023 - 15 oct. 2014 à 13:58
A voir également:
- Prendre en compte les mots quelle que soit la casse
- Supprimer compte instagram - Guide
- Compte facebook piraté - Guide
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Créer un compte gmail - Guide
- Dans le texte, un seul mot a réellement été écrit en lettres capitales (majuscules). quel est ce mot ? ✓ - Forum Word
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
15 oct. 2014 à 08:32
15 oct. 2014 à 08:32
Bonjour,
Peut être simplement en ajoutant UCase().
Ta procédure TextBox1_Change :
Devient :
Peut être simplement en ajoutant UCase().
Ta procédure TextBox1_Change :
Private Sub TextBox1_Change()
'sources :
'http://www.commentcamarche.net/forum/affich-14847865-recherche-semi-auto-dans-excel
'michel_m
Application.ScreenUpdating = False 'ne pas afficher le déroulé de la macro'
Dim lettre As String, cptr As Long, cptr_tablo As Long, derlig As Long, i As Long
Dim Tb()
lettre = UCase(TextBox1.Value)
If lettre = "" Then Exit Sub
For cptr = 1 To UBound(Sources, 1)
If Sources(cptr, 1) Like lettre & "*" Then ' <== Ligne à modifier
ReDim Preserve Tb(cptr_tablo)
Tb(cptr_tablo) = Sources(cptr, 1) & " - " & Sources(cptr, 2) & " - " & Sources(cptr, 3)
cptr_tablo = cptr_tablo + 1
End If
Next
If cptr_tablo = 0 Then MsgBox "Aucun Nom commençant par : " & lettre: Exit Sub
With ListBox1
.Clear
For i = LBound(Tb) To UBound(Tb)
.AddItem Tb(i)
Next
.Visible = True
End With
Application.ScreenUpdating = True 'afficher le résultat final'
End Sub
Devient :
Private Sub TextBox1_Change()
'sources :
'http://www.commentcamarche.net/forum/affich-14847865-recherche-semi-auto-dans-excel
'michel_m
Application.ScreenUpdating = False 'ne pas afficher le déroulé de la macro'
Dim lettre As String, cptr As Long, cptr_tablo As Long, derlig As Long, i As Long
Dim Tb()
lettre = UCase(TextBox1.Value)
If lettre = "" Then Exit Sub
For cptr = 1 To UBound(Sources, 1)
If UCase(Sources(cptr, 1)) Like lettre & "*" Then '<== utilisation de UCase
ReDim Preserve Tb(cptr_tablo)
Tb(cptr_tablo) = Sources(cptr, 1) & " - " & Sources(cptr, 2) & " - " & Sources(cptr, 3)
cptr_tablo = cptr_tablo + 1
End If
Next
If cptr_tablo = 0 Then MsgBox "Aucun Nom commençant par : " & lettre: Exit Sub
With ListBox1
.Clear
For i = LBound(Tb) To UBound(Tb)
.AddItem Tb(i)
Next
.Visible = True
End With
Application.ScreenUpdating = True 'afficher le résultat final'
End Sub
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
54
15 oct. 2014 à 11:06
15 oct. 2014 à 11:06
Merci !
Ça fonctionne ! U = Upper, c'est ça ?
Ça fonctionne ! U = Upper, c'est ça ?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
15 oct. 2014 à 11:08
15 oct. 2014 à 11:08
Yes!
Même chose pour les minuscules : L = Lower ==> LCase()
Même chose pour les minuscules : L = Lower ==> LCase()
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
54
15 oct. 2014 à 11:38
15 oct. 2014 à 11:38
Est-ce que, dans la suite de la macro, il est possible de modifier la colonne A en majuscule, après le clic du coup ?
Puisque ce sont des NOM, je voudrais qu'ils soient affichés en majuscule.
Puisque ce sont des NOM, je voudrais qu'ils soient affichés en majuscule.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
15 oct. 2014 à 12:35
15 oct. 2014 à 12:35
Ben ça tu peux le faire en dehors d'une macro...
Tu te met dans une colonne vide de ton fichier même page,
En colonne Z par exemple,
en Z1 tu écris la formule : =MAJUSCULE(A1)
Formule que tu "étires" vers le bas.
Puis, copier / collage spécial choix valeurs de la colonne Z en colonne A...
En trois minutes tu n'as que des NOMS
Tu te met dans une colonne vide de ton fichier même page,
En colonne Z par exemple,
en Z1 tu écris la formule : =MAJUSCULE(A1)
Formule que tu "étires" vers le bas.
Puis, copier / collage spécial choix valeurs de la colonne Z en colonne A...
En trois minutes tu n'as que des NOMS
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
54
15 oct. 2014 à 13:08
15 oct. 2014 à 13:08
J'avais déjà fait ça, mais ça ne fonctionne pas.
Les fichiers concernés sont les mêmes qu'ici : https://forums.commentcamarche.net/forum/affich-30645995-completer-lignes-depuis-autre-classeur-base-de-donnees#28
Les fichiers concernés sont les mêmes qu'ici : https://forums.commentcamarche.net/forum/affich-30645995-completer-lignes-depuis-autre-classeur-base-de-donnees#28
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
15 oct. 2014 à 13:58
15 oct. 2014 à 13:58
J'avais déjà fait ça, mais ça ne fonctionne pas.
J'ai testé cela fonctionne...
Bon. Par macro, il va falloir modifier le fichier bdd.xlsx qui devient bdd.xlsm
Donc :
MODIFIER ce nom dans les macros du second fichier.
Puis, dans le fichier bdd.xlsm, ajouter cette macro dans le module ThisWorkbook
J'ai testé cela fonctionne...
Bon. Par macro, il va falloir modifier le fichier bdd.xlsx qui devient bdd.xlsm
Donc :
MODIFIER ce nom dans les macros du second fichier.
Puis, dans le fichier bdd.xlsm, ajouter cette macro dans le module ThisWorkbook
Private Sub Workbook_Open()
Dim lig As Long, dl As Long
With Sheets("Feuil1")
dl = .Range("A" & Rows.Count).End(xlUp).Row
For lig = 2 To dl
.Cells(lig, 1) = UCase(.Cells(lig, 1))
Next
End With
End Sub