OVH Cloud OVH Cloud

Formule dans les formats personalisés

9 réponses
Avatar
Billout
Bonjour,
J'aimerai savoir si c'est possible d'inserrer des formule dans les formats
personnalisés des cellules. Si oui lequelles en comment et comment les
rentrer ?

je dois rentrer dans une cellule "30" et ca doit me donner "100_00030"
En passant par les formats personnalisés je dois entrer des tas de formats
--> "100_0"0000.
Le but est entrer des valeurs sans s'interresser "au prefixe".
C'est à dire concatener :
Les 3 premiers carracteres "100" correspondent à l'onglet - formule cellule
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32).
+ le 4 eme qui est "_"
+ le 5 et 6 eme qui correspondent à une cellule - A1 = "00" ou B1 = "01" etc..
+ les 3 derniers qui correspondent une valeur de 0 à 999 que l'on doit
entrer manuelement.

Merci pour votre aide.

9 réponses

Avatar
Daniel
Bonsoir.
Si A1 et B10, essaie :
=TEXTE(A1+B1;"100_00")
Cordialement.
Daniel
"Billout" a écrit dans le message de
news:
Bonjour,
J'aimerai savoir si c'est possible d'inserrer des formule dans les formats
personnalisés des cellules. Si oui lequelles en comment et comment les
rentrer ?

je dois rentrer dans une cellule "30" et ca doit me donner "100_00030"
En passant par les formats personnalisés je dois entrer des tas de formats
--> "100_0"0000.
Le but est entrer des valeurs sans s'interresser "au prefixe".
C'est à dire concatener :
Les 3 premiers carracteres "100" correspondent à l'onglet - formule
cellule
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32).
+ le 4 eme qui est "_"
+ le 5 et 6 eme qui correspondent à une cellule - A1 = "00" ou B1 = "01"
etc..
+ les 3 derniers qui correspondent une valeur de 0 à 999 que l'on doit
entrer manuelement.

Merci pour votre aide.





Avatar
JB
Bonjour

On suppose que la saisie se fait en Colonne C

http://cjoint.com/?bguzqTXH6w

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Count = 1 Then
Application.EnableEvents = False
Target.Value = ActiveSheet.Name & "_" & [A1] & Target.Value
Application.EnableEvents = False
End If
End Sub

Cordialement JB
Avatar
Billout
Bonsoir, merci pour cette formulation.
Je ne suis pas fortich en VB, mais j'ai pu voir ton classeur, c'est sympas.
Par contre, si tu écris enrore une fois dans cette cellule, elle perd tous
les renseignements.

Je cherche a écrire une formule dans Format --> cellule -->personnalisée, un
peu comma ca - "100_0"0000 - mais avec des formules qui va chercher les infos
dans des cellules ou feuilles ou classeur.

Merci


Bonjour

On suppose que la saisie se fait en Colonne C

http://cjoint.com/?bguzqTXH6w

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Count = 1 Then
Application.EnableEvents = False
Target.Value = ActiveSheet.Name & "_" & [A1] & Target.Value
Application.EnableEvents = False
End If
End Sub

Cordialement JB




Avatar
Billout
Bonsoir, non la formule ne doit pas etre directement dans la cellule, mais
dans Format --> cellule -->personnalisée.

Je cherche a écrire une formule dans Format --> cellule -->personnalisée, un
peu comma ca - "100_0"0000 - mais avec des formules qui va chercher les infos
dans des cellules ou feuilles ou classeur.

Merci



Bonsoir.
Si A1 et B10, essaie :
=TEXTE(A1+B1;"100_00")
Cordialement.
Daniel
"Billout" a écrit dans le message de
news:
Bonjour,
J'aimerai savoir si c'est possible d'inserrer des formule dans les formats
personnalisés des cellules. Si oui lequelles en comment et comment les
rentrer ?

je dois rentrer dans une cellule "30" et ca doit me donner "100_00030"
En passant par les formats personnalisés je dois entrer des tas de formats
--> "100_0"0000.
Le but est entrer des valeurs sans s'interresser "au prefixe".
C'est à dire concatener :
Les 3 premiers carracteres "100" correspondent à l'onglet - formule
cellule
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32).
+ le 4 eme qui est "_"
+ le 5 et 6 eme qui correspondent à une cellule - A1 = "00" ou B1 = "01"
etc..
+ les 3 derniers qui correspondent une valeur de 0 à 999 que l'on doit
entrer manuelement.

Merci pour votre aide.










Avatar
Daniel
Bonsoir.
La formule sont deux choses distinctes que tu combines à ton gré. Quelle que
soit ta formule, le format : "100_000"00 te donnera le résultat voulu.
Daniel
"Billout" a écrit dans le message de
news:
Bonsoir, non la formule ne doit pas etre directement dans la cellule, mais
dans Format --> cellule -->personnalisée.

Je cherche a écrire une formule dans Format --> cellule -->personnalisée,
un
peu comma ca - "100_0"0000 - mais avec des formules qui va chercher les
infos
dans des cellules ou feuilles ou classeur.

Merci



Bonsoir.
Si A1 et B10, essaie :
=TEXTE(A1+B1;"100_00")
Cordialement.
Daniel
"Billout" a écrit dans le message de
news:
Bonjour,
J'aimerai savoir si c'est possible d'inserrer des formule dans les
formats
personnalisés des cellules. Si oui lequelles en comment et comment les
rentrer ?

je dois rentrer dans une cellule "30" et ca doit me donner "100_00030"
En passant par les formats personnalisés je dois entrer des tas de
formats
--> "100_0"0000.
Le but est entrer des valeurs sans s'interresser "au prefixe".
C'est à dire concatener :
Les 3 premiers carracteres "100" correspondent à l'onglet - formule
cellule
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32).
+ le 4 eme qui est "_"
+ le 5 et 6 eme qui correspondent à une cellule - A1 = "00" ou B1 =
"01"
etc..
+ les 3 derniers qui correspondent une valeur de 0 à 999 que l'on doit
entrer manuelement.

Merci pour votre aide.












Avatar
JB
Bonjour,


-J'avais oublié: Application.EnableEvents = True
-On ne peut mettre de formule dans un format

http://cjoint.com/?bhgznhOkAt

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Count = 1 Then
Application.EnableEvents = False
Target.Value = ActiveSheet.Name & "_" & [A1] & Target.Value
Application.EnableEvents = True
End If
End Sub

Clic/Droit sur l'onglet puis visualiser le code

JB
Avatar
JB
Bonjour,

-J'avais oublié: Application.EnableEvents = True

http://cjoint.com/?bhgK1Y6RYR

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Count = 1 Then
Application.EnableEvents = False
Target.Value = ActiveSheet.Name & "_" & [A1] & Target.Value
Application.EnableEvents = True
End If
End Sub

-On ne peut pas placer une formule dans un format
Solution avec formule dans une autre cellule:

En D2:
=SI(C2<>"";STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1)) +1;32)&$A$1&"_"&C2;"")

Cordialement JB
Avatar
JB
Bonjour,

J'vais oublié Application.EnableEvents = True

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Count = 1 Then
Application.EnableEvents = False
Target.Value = ActiveSheet.Name & "_" & [A1] & Target.Value
Application.EnableEvents = True
End If
End Sub

Solution formule:

-Saisie en C2:
-Formule en D2:
=SI(C2<>"";STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1)) +1;32)&$A$1&"_"&C2;"")

Cordialement JB
Avatar
JB
Il manquait Application.EnableEvents = True

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Count = 1 Then
Application.EnableEvents = False
Target.Value = ActiveSheet.Name & "_" & [A1] & Target.Value
Application.EnableEvents = True
End If
End Sub

Autre version

http://cjoint.com/?bhiEDmaqiz

On ne pas mettre de formule dans un format:

En D2:
=SI(C2<>"";STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)&$A$1&"_"&C2;"")

JB