Format cellule personalisé sur excel
Résolu/Fermé
boscaium
Messages postés
4
Date d'inscription
mercredi 14 septembre 2016
Statut
Membre
Dernière intervention
16 septembre 2016
-
14 sept. 2016 à 20:56
boscaium Messages postés 4 Date d'inscription mercredi 14 septembre 2016 Statut Membre Dernière intervention 16 septembre 2016 - 16 sept. 2016 à 08:03
boscaium Messages postés 4 Date d'inscription mercredi 14 septembre 2016 Statut Membre Dernière intervention 16 septembre 2016 - 16 sept. 2016 à 08:03
A voir également:
- Format cellule personalisé sur excel
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Liste déroulante excel - Guide
- Verrouiller cellule excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
1 réponse
Utilisateur anonyme
Modifié par albkan le 14/09/2016 à 21:59
Modifié par albkan le 14/09/2016 à 21:59
Bonsoir Pascal,
Je ne crois pas que ce que tu demandes soit possible sans macro.
Si tu tapes la référence en cellule B5, voici le code VBA correspondant :
À toi d'adapter le "$B$5" et les trois [B5]. Ce code vérifie juste que
la longueur de la référence saisie est de 12 caractères, pas si tu as
entré des chiffres à la place de lettres ou inversement.
Attention : ce code VBA n'est pas à mettre dans Module1
mais dans le code de la feuille où tu tapes la référence.
Dis-moi ce que tu en penses, et si ça te convient.
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Je ne crois pas que ce que tu demandes soit possible sans macro.
Si tu tapes la référence en cellule B5, voici le code VBA correspondant :
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address <> "$B$5" Then Exit Sub If Len([B5]) <> 12 Then Exit Sub Dim chn As String: chn = [B5] [B5] = Left$(chn, 2) & "." & Mid$(chn, 3, 4) & "." _ & Mid$(chn, 7, 2) & "." & Mid$(chn, 9, 2) & "." & Right$(chn, 2) End Sub
À toi d'adapter le "$B$5" et les trois [B5]. Ce code vérifie juste que
la longueur de la référence saisie est de 12 caractères, pas si tu as
entré des chiffres à la place de lettres ou inversement.
Attention : ce code VBA n'est pas à mettre dans Module1
mais dans le code de la feuille où tu tapes la référence.
Dis-moi ce que tu en penses, et si ça te convient.
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
15 sept. 2016 à 09:12
merci pour votre réponse
je viens de de mettre en pratique la macro qui fonctionne pour une cellule
par contre j'utilise une liste de référence donc il faudrait que la macro tienne compte
d'une colonne de cellule et la je coince
merci d'avance
pascal
Modifié par albkan le 15/09/2016 à 18:54
J'ai besoin que tu m'indiques quelle est ta colonne de références
(données seulement, sans la ligne d'en-têtes éventuelle) ; exemple :
colonne C, lignes 12 à 20 => plage "C12:C20". Cordialement. 😊
15 sept. 2016 à 20:17
ci dessous exemple de référence contenue dans la plage B1:B10
avec la macro la cellule B5 fonctionne très bien quand j'essai de modifier la macro
en remplaçant B5 par la plage de cellule ça ne fonctionne pas
je doit oublier une accolade ou autre chose
bien cordialement
pascal
02036002zz00
02036002zz01
02036002zz02
02036002zz03
02.0360.02.zz.04 (cellule B5)
02036002zz05
02036002zz06
02036002zz07
02036002zz08
02036002zz09
16 sept. 2016 à 03:45
Bonjour Pascal,
Quand on utilise Worksheet_SelectionChange(), on doit faire très attention
à certains détails car il faut utiliser un type de programmation spécial, et
on ne peut pas remplacer simplement comme ça B5 par B1:B10 !
Donc quand tu as essayé, c'est normal que ça n'ait pas fonctionné, et ce
n'est pas une histoire de parenthèse ou accolade oubliée ! Le code VBA
doit être modifié comme suit, pour B1:B10 :
Si ta plage était B2:B10 :
Si ta plage était B5:B10 :
Dis-moi ce que tu en penses, et si ça te convient.
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
16 sept. 2016 à 08:03
cordialement
Pascal