Format d'une cellule

Résolu
Philou73CH -  
 Philou73CH -
Bonjour,

J'ai 2 questions pour de la mise en forme d'un fichier Excel 2010.

Comment m'y prendre pour qu'une série de cellule dans lesquelles je vais mettre des initiales, soient systématiquement en majuscule. Que je tape en minuscule ou en majuscule.

Dans une cellule j'importe des données. Il s'agit du prénom, que j'aimerai limiter au 2ère lettre. Pour importer, comme je pars d'un tableau, j'utilise la fonction RECHERCHEV.

D'avance je vous remercie de votre aide
A voir également:

4 réponses

dlt-pan Messages postés 529 Statut Membre 67
 
Bonjour,
c'est possible avec une macro mais quelqu'un connait peut etre une astuce ?
Donne les coordonnées de tes cellules qu'il faut modifier. Si personne n'a idée, je te ferai une macro.
0
Philou73CH
 
Merci à vous,
Dans la feuille FAX, il s'agit des cellules E8, E11, E14, E18 ainsique que les I8,I11,I14,I18, ceci pour avoir un max de 2ère lettres pour le prénom.

Pour ce qui est des Initiales, c'est sur une feuille nommée Personnels, et là c'est les cellules D2,E2,F2.

Merci à vous
0
dlt-pan Messages postés 529 Statut Membre 67
 
Bonjour
Pour les majuscules, tu peux coller cette macro dans la feuille nommée personnels :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = Mid(ActiveCell.Address, 4, 2)
If x = "2" Or x = "$2" Then
Cells(2, 4) = UCase(Cells(2, 4))
Cells(2, 5) = UCase(Cells(2, 5))
Cells(2, 6) = UCase(Cells(2, 6))
Else
Exit Sub
End If
End Sub

pour ce qui est de limiter au deux premiers caractères le prénom, j'ai une idée mais si j'ai bien compris, il y a une formule rechercheV dans la case. ce que je te proposerai si tu es d'accord ecrasera la formule et ne laissera que 2 caractères. Par contre si elle ets vide, la formule ne sera pas changée.
dis moi si ce fonctionnement te convient.
0
Philou73CH
 
bonjour,
Merci pour la macro. Je vais la coller comme tu me le propose.

Quand à ta proposition, tu peux écraser tout ce que tu veux. Si cela permet quand même d'importer la donnée et nom devoir l'écrire, moi cela me convient.

Mais de toute facon, je te remercie d'avance pour le temps que tu as pris pour me répondre.
0
dlt-pan Messages postés 529 Statut Membre 67
 
je t'envoie la macro complete en fin de matinée
0
RachelMartel Messages postés 460 Statut Membre 25
 
Pour avoir les 2 premiers caractères d'une cellule, on peut utiliser la fonction =GAUCHE

Pour mettre un résultat en majuscule, on peut utiliser la fonction =MAJUSCULE

Il faudrait une meilleure mise en contexte pour savoir comment les utiliser.
0
Philou73CH
 
Oui, je comprends c'est vrai que c'est vague.
Merci quand même de votre aide.
Je vais regarder pour être plus précis.
0
dlt-pan Messages postés 529 Statut Membre 67
 
ok mais çà ne fonctionne pas dans ce cas puisqu'il saisi du texte dans une cellule et qu'elle doit ensuite passer en MAJ. si il y a la formule dedant elle sera ecrasée. donc je ne vois pas comment on peut le faire sans une macro
0
dlt-pan Messages postés 529 Statut Membre 67
 
Bonjour
tu colles cette macro dans la feuil fax.
quand tu clic sur les cellules E8, E11, E14, E18 ainsi que que les I8,I11,I14,I18, le contenu sera modifié a 2 caractères
Si le contenu est dejà de deux caractères tu retrouves ta formule (à preciser dans la macro ou il y a =concatener(....)

Private Sub Worksheet_selectionChange(ByVal Target As Range)
x = Mid(ActiveCell.Address, 2, 1)
Y = Val(Mid(ActiveCell.Address, 4, 2))
If (x = "E" Or x = "I") And (Y = 8 Or Y = 11 Or Y = 14 Or Y = 18) Then
If Len(ActiveCell.Value) > 2 Then
ActiveCell.Value = Mid(ActiveCell.Value, 2, 2)
Else
ActiveCell.FormulaLocal = "=CONCATENER(E12;I11)"
End If
End If
End Sub
0
Philou73CH
 
Merci pour cette macro,
Cela va pas exactement comme je pensais le faire, car il faut cliquer sur la cellule.
Par contre, cela m'a permis de l'utiliser sur un autre formulaire. :-) Pour le fax je laisse tomber.

Mais un très grand merci à toi pour ce que tu as fait et surtout le temps pris pour cette macro
0