Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Une Majuscule en début de cellule pas plus.

megansport

XLDnaute Junior
Bonjour au forum

J'aurais besoin de vos service pour travailler sur une base de 25000 ligne.
Il me faudrait tout simplement mettre une majuscule au début du mot.

Par exemple: phare droit devient Phare droit dans la cellule

J'ai chercher sur le forum mais je n'ai pas trouver de solution me concernant

Merci de votre aide
 

patricktoulon

XLDnaute Barbatruc
re
j'y pense au fait
quelqu'un a pensé aux éventuels items vides dans myArray?
sinon mid ca marche aussi directement avec myArray(i,1) (sans variable string intermédiaire)
VB:
For i = 1 To UBound(myArray, 1)
   If myArray(i, 1) <> "" Then Mid(myArray(i, 1), 1, 1) = UCase(Mid(myArray(i, 1), 1, 1)) 
Next
 

soan

XLDnaute Barbatruc
Inactif
Bonsoir @anna2054, le fil,

je te répond avec retard car j'étais pris par des affaires persos.

réponse à ton post #21 : comme te l'a indiqué patrick : ça ne marche pas
sur un xlsx ; il faut que le fichier soit un .xlsm ; car le m est l'initiale de
macros (non, même si tu utilises des concaténations, c'est pas des m&m's) ; rappel :
l'extension .xlsm est pour ce type de fichier :

« Classeur Excel (prenant en charge les macros) »

les fichiers .xlsx ne peuvent pas contenir de macros ; attention : si tu mets
des macros dans un nouveau fichier .xlsx que tu viens de créer, ces macros
seront perdues lors de l'enregistrement ! tu dois faire F12 pour convertir
ton fichier en .xlsm ; plus d'infos dans mon post #3 ; rappel :
l'extension .xlsx est pour ce type de fichier :

« Classeur Excel » (tout court, et sans m&m's)

cette distinction des 2 types de fichiers est apparue avec Excel 2007 ;
ça n'existe pas pour les fichiers .xls des versions antérieures d'Excel,
qui peuvent contenir (ou non) des macros (c'est donc polyvalent).

@patricktoulon : t'aurais pas pu développer un peu plus ta réponse, non ?
tu m'aurais épargné de devoir écrire tout ça, lollllll !


soan
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
bonsoir Soan
tu veux que je développe quoi ?
la fonction mid 1 personne sur 10 y pense en écriture
c'est même l'option qui viens en dernier après split join left right et compagnie
et pourtant c'est si simple
un point A à un point B je prends le plus court
 

soan

XLDnaute Barbatruc
Inactif
@patricktoulon

non, je parlais de développement à propos des extensions de fichiers,
les raisons de la différence entre .xlsx et .xlsm (lis tout mon post #32).

sinon, je n'avais pas cherché à utiliser Mid$() car c'était pour le 1er
caractère ; c'est pour ça que j'ai utilisé Left$(), quitte à devoir faire
une concaténation pour ajouter la suite ; mais comme c'est avec
la méthode des tableaux, ça doit être ultra-rapide !


soan
 
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
quoi ? comment peut y'avoir des virus dans un fichier .xlsx donc sans macros ?
le fichiers .csv j'en n'ai jamais ; des .txt oui ; mais pas des .csv !

(mais par précaution, j'fais quand même une recherche antivirus sur tout fichier téléchargé,
quelle que soit l'extension ; et j'suis au courant des doubles extensions genre .xlsx.xlsm)


soan
 

patricktoulon

XLDnaute Barbatruc
c'est mid le plus rapide
je split pas
je concatène pas
je strconv pas

mid en écriture a un comportement bien particulier
il agit sur une portion et restitue une chaîne entière
en gros il fait ce que tu fait tout seul en un coup !!!!
 

soan

XLDnaute Barbatruc
Inactif
alors soit ! va pour Mid$ plutôt que Left$ (chaque fois que possible),
et même si c'est avec utilisation de la méthode des tableaux !

oui, j'sais bien qu'les fichiers .csv sont des fichiers textes, mais
j'voulais parler des fichiers avec extension .txt (comme ceux
créés par le bloc-notes de Windows).


soan
 

patricktoulon

XLDnaute Barbatruc
je n'ai pas besoins de macros pour te foutre un code malicieux
les xlsx sont avant tout des archives contenant une arborescence de dossiers et fichiers qui peuvent très bien contenir un code malveillant

croire que l'on est a l'abri avec un xlsx ou csv est une erreur
 

soan

XLDnaute Barbatruc
Inactif
j'étais justement en train d'écrire : « mais comment t'explique que des virus peuvent
se mettre dans un fichier .xlsx, qui par définition ne peut pas contenir de macros ?

tu viens d'y répondre brillament, chapeau !!!

j'ai une réclamation : ton post #41 mérite un triple "J'adore", mais j'peux en mettre qu'un seul !
y'a pas un moyen d'débloquer ça pour en ajouter deux ?


soan
 

patricktoulon

XLDnaute Barbatruc
non c'est pas mid plutôt que left
mid a des arguments string,debut,longueur) c'est pas tout a fait la même chose
en ecriture il ne touche qu'a la partie de début sur longueur MAIS RESTITUE LA
CHAÎNE ENTIÈRE


l'argument longueur si omis = la longueur restante après le début

EXEMPLE:
Sub test()
chaine = "soan mange des pommes"
Mid(chaine, 16) = "fruits"
MsgBox chaine
End Sub

la différence avec mid en lecture c'est que la il te restitue la portion
msgbox mid(chaine,16)
 
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
je connais Left$(), bien sûr : c'est un des b a ba des fonctions texte ; non, je parlais
d'utiliser Mid$() uniquement à la place de Left$ pour un seul caractère, et celui
de gauche (donc l'initiale, quoi ! ).

suite à la super info de ton post #41, je viens de raccourcir mon post #32 :
j'ai supprimé tout le long dernier paragraphe ! (heureusement, @anna2054 n'est
pas encore revenue sur le forum : mon post l'aurait induite en erreur à ce sujet)

ajout : merci pour les pommes et autres fruits ! ça tombe bien : j'ai un p'tit creux !


soan
 

soan

XLDnaute Barbatruc
Inactif
@patricktoulon

jolie, la p'tite poésie de ton post #28, lolllll ! c'est sympa, l'confinement :
ça a des effets inattendus sur ton art d'écrire des proses sur Mid(x,1,1) ! et c'est
quoi, la suite du petit chaperon rouge ? le petit Mid(x,1,1) tira sur la chevillette,
et la bobinette cherra ? (tiens, voici un petit cadeau !)

dans ton post #31, t'as écrit : « quelqu'un a pensé aux éventuels items vides ? »
si, si, moi, moi, m'sieur ! dans l'code VBA du fichier de mon post #20, j'ai :
k = Len(chn) ; puis : If k > 0 Then ... ; c'était quoi, déjà, le lot à gagner ?
un panier de pommes et autres fruits ? (miam, miam !)


soan
 
Dernière édition:

Discussions similaires

Réponses
12
Affichages
323
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…