Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre copréhension.
Amicalement
Philippe
Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
u0rXNOfBIHA.484@TK2MSFTNGP06.phx.gbl...
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre copréhension.
Amicalement
Philippe
Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre copréhension.
Amicalement
Philippe
Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre copréhension.
Amicalement
Philippe
Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
u0rXNOfBIHA.484@TK2MSFTNGP06.phx.gbl...
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre copréhension.
Amicalement
Philippe
Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre copréhension.
Amicalement
Philippe
Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" a écrit dans le message de news:
e%
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" a écrit dans le message de news:
%Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe
Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
e%23MHNbjBIHA.3548@TK2MSFTNGP06.phx.gbl...
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23IpnIVfBIHA.5980@TK2MSFTNGP04.phx.gbl...
Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
u0rXNOfBIHA.484@TK2MSFTNGP06.phx.gbl...
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe
Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" a écrit dans le message de news:
e%
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" a écrit dans le message de news:
%Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe
Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" a écrit dans le message de news:
e%
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" a écrit dans le message de news:
%Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe
Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
e%23MHNbjBIHA.3548@TK2MSFTNGP06.phx.gbl...
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23IpnIVfBIHA.5980@TK2MSFTNGP04.phx.gbl...
Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
u0rXNOfBIHA.484@TK2MSFTNGP06.phx.gbl...
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe
Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" a écrit dans le message de news:
e%
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" a écrit dans le message de news:
%Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et 23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe
Pour les fins de calcul, j'ai choisi des années d'une longueur de 365.25
jours
Les mois sont calculés en fraction d'années
5 mois = (365.25 *5) / 12
Le résultat du calcul est arrondi en utilisant la fonction de la
feuille de calcul "Application.Round" en VBA pour Arrondi
dans la feuille de calcul
Tu copies cette fonction dans un module standard
'-----------------------------------
Function Nbjours(rg As Range)
Dim S As String, Pa As Integer, Pm As Integer
Dim R As Double
S = rg.Value
'Année
Pa = InStr(1, S, "a", vbTextCompare)
If Pa <> 0 Then R = Left(S, Pa - 1) * 365.25
'Mois
Pm = InStr(1, S, "m", vbTextCompare)
If Pm <> 0 Then R = R + (Mid(S, Pa + 1, Pm - Pa - 1) * 365.25) / 12
'Jour
If Pm > 0 Then
If Len(S) - Pm > 0 Then R = R + Right(S, Len(S) - Pm)
End If
Nbjours = Application.Round(R, 0)
End Function
'-----------------------------------
Et pour appeler cette fonction dans ta feuille de calcul
Si en A1, tu as : 1a6m23 Dans la cellule où tu veux obtenir
le résultat en jours, tu inscris : =Nbjours(A1)
Cette formule peut être recopié sur l'ensemble de ta plage !
"Philippe B" a écrit dans le message de news:
Bonjour !
Pour une conversion en jours :
1a6m23 563
1a6m 540
1a0m23 383
1a 360
6m23 203
6m 180
0m23 23
Un grand merci pour votre gentillesse et votre patience !!
Amicalement
Philippe
"MichDenis" a écrit dans le message de news:
u47E$Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" a écrit dans le message de news:
e%
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" a écrit dans le message de news:
%Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et
23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe
Pour les fins de calcul, j'ai choisi des années d'une longueur de 365.25
jours
Les mois sont calculés en fraction d'années
5 mois = (365.25 *5) / 12
Le résultat du calcul est arrondi en utilisant la fonction de la
feuille de calcul "Application.Round" en VBA pour Arrondi
dans la feuille de calcul
Tu copies cette fonction dans un module standard
'-----------------------------------
Function Nbjours(rg As Range)
Dim S As String, Pa As Integer, Pm As Integer
Dim R As Double
S = rg.Value
'Année
Pa = InStr(1, S, "a", vbTextCompare)
If Pa <> 0 Then R = Left(S, Pa - 1) * 365.25
'Mois
Pm = InStr(1, S, "m", vbTextCompare)
If Pm <> 0 Then R = R + (Mid(S, Pa + 1, Pm - Pa - 1) * 365.25) / 12
'Jour
If Pm > 0 Then
If Len(S) - Pm > 0 Then R = R + Right(S, Len(S) - Pm)
End If
Nbjours = Application.Round(R, 0)
End Function
'-----------------------------------
Et pour appeler cette fonction dans ta feuille de calcul
Si en A1, tu as : 1a6m23 Dans la cellule où tu veux obtenir
le résultat en jours, tu inscris : =Nbjours(A1)
Cette formule peut être recopié sur l'ensemble de ta plage !
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
eU09NrrBIHA.4584@TK2MSFTNGP03.phx.gbl...
Bonjour !
Pour une conversion en jours :
1a6m23 563
1a6m 540
1a0m23 383
1a 360
6m23 203
6m 180
0m23 23
Un grand merci pour votre gentillesse et votre patience !!
Amicalement
Philippe
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
u47E$6nBIHA.324@TK2MSFTNGP04.phx.gbl...
Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
e%23MHNbjBIHA.3548@TK2MSFTNGP06.phx.gbl...
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23IpnIVfBIHA.5980@TK2MSFTNGP04.phx.gbl...
Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
u0rXNOfBIHA.484@TK2MSFTNGP06.phx.gbl...
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et
23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe
Pour les fins de calcul, j'ai choisi des années d'une longueur de 365.25
jours
Les mois sont calculés en fraction d'années
5 mois = (365.25 *5) / 12
Le résultat du calcul est arrondi en utilisant la fonction de la
feuille de calcul "Application.Round" en VBA pour Arrondi
dans la feuille de calcul
Tu copies cette fonction dans un module standard
'-----------------------------------
Function Nbjours(rg As Range)
Dim S As String, Pa As Integer, Pm As Integer
Dim R As Double
S = rg.Value
'Année
Pa = InStr(1, S, "a", vbTextCompare)
If Pa <> 0 Then R = Left(S, Pa - 1) * 365.25
'Mois
Pm = InStr(1, S, "m", vbTextCompare)
If Pm <> 0 Then R = R + (Mid(S, Pa + 1, Pm - Pa - 1) * 365.25) / 12
'Jour
If Pm > 0 Then
If Len(S) - Pm > 0 Then R = R + Right(S, Len(S) - Pm)
End If
Nbjours = Application.Round(R, 0)
End Function
'-----------------------------------
Et pour appeler cette fonction dans ta feuille de calcul
Si en A1, tu as : 1a6m23 Dans la cellule où tu veux obtenir
le résultat en jours, tu inscris : =Nbjours(A1)
Cette formule peut être recopié sur l'ensemble de ta plage !
"Philippe B" a écrit dans le message de news:
Bonjour !
Pour une conversion en jours :
1a6m23 563
1a6m 540
1a0m23 383
1a 360
6m23 203
6m 180
0m23 23
Un grand merci pour votre gentillesse et votre patience !!
Amicalement
Philippe
"MichDenis" a écrit dans le message de news:
u47E$Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" a écrit dans le message de news:
e%
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" a écrit dans le message de news:
%Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et
23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe
Pour les fins de calcul, j'ai choisi des années d'une longueur de 365.25
jours
Les mois sont calculés en fraction d'années
5 mois = (365.25 *5) / 12
Le résultat du calcul est arrondi en utilisant la fonction de la
feuille de calcul "Application.Round" en VBA pour Arrondi
dans la feuille de calcul
Tu copies cette fonction dans un module standard
'-----------------------------------
Function Nbjours(rg As Range)
Dim S As String, Pa As Integer, Pm As Integer
Dim R As Double
S = rg.Value
'Année
Pa = InStr(1, S, "a", vbTextCompare)
If Pa <> 0 Then R = Left(S, Pa - 1) * 365.25
'Mois
Pm = InStr(1, S, "m", vbTextCompare)
If Pm <> 0 Then R = R + (Mid(S, Pa + 1, Pm - Pa - 1) * 365.25) / 12
'Jour
If Pm > 0 Then
If Len(S) - Pm > 0 Then R = R + Right(S, Len(S) - Pm)
End If
Nbjours = Application.Round(R, 0)
End Function
'-----------------------------------
Et pour appeler cette fonction dans ta feuille de calcul
Si en A1, tu as : 1a6m23 Dans la cellule où tu veux obtenir
le résultat en jours, tu inscris : =Nbjours(A1)
Cette formule peut être recopié sur l'ensemble de ta plage !
"Philippe B" a écrit dans le message de news:
Bonjour !
Pour une conversion en jours :
1a6m23 563
1a6m 540
1a0m23 383
1a 360
6m23 203
6m 180
0m23 23
Un grand merci pour votre gentillesse et votre patience !!
Amicalement
Philippe
"MichDenis" a écrit dans le message de news:
u47E$Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" a écrit dans le message de news:
e%
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" a écrit dans le message de news:
%Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et
23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe
Pour les fins de calcul, j'ai choisi des années d'une longueur de 365.25
jours
Les mois sont calculés en fraction d'années
5 mois = (365.25 *5) / 12
Le résultat du calcul est arrondi en utilisant la fonction de la
feuille de calcul "Application.Round" en VBA pour Arrondi
dans la feuille de calcul
Tu copies cette fonction dans un module standard
'-----------------------------------
Function Nbjours(rg As Range)
Dim S As String, Pa As Integer, Pm As Integer
Dim R As Double
S = rg.Value
'Année
Pa = InStr(1, S, "a", vbTextCompare)
If Pa <> 0 Then R = Left(S, Pa - 1) * 365.25
'Mois
Pm = InStr(1, S, "m", vbTextCompare)
If Pm <> 0 Then R = R + (Mid(S, Pa + 1, Pm - Pa - 1) * 365.25) / 12
'Jour
If Pm > 0 Then
If Len(S) - Pm > 0 Then R = R + Right(S, Len(S) - Pm)
End If
Nbjours = Application.Round(R, 0)
End Function
'-----------------------------------
Et pour appeler cette fonction dans ta feuille de calcul
Si en A1, tu as : 1a6m23 Dans la cellule où tu veux obtenir
le résultat en jours, tu inscris : =Nbjours(A1)
Cette formule peut être recopié sur l'ensemble de ta plage !
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
eU09NrrBIHA.4584@TK2MSFTNGP03.phx.gbl...
Bonjour !
Pour une conversion en jours :
1a6m23 563
1a6m 540
1a0m23 383
1a 360
6m23 203
6m 180
0m23 23
Un grand merci pour votre gentillesse et votre patience !!
Amicalement
Philippe
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
u47E$6nBIHA.324@TK2MSFTNGP04.phx.gbl...
Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
e%23MHNbjBIHA.3548@TK2MSFTNGP06.phx.gbl...
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23IpnIVfBIHA.5980@TK2MSFTNGP04.phx.gbl...
Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" <bidon@bidon.fr> a écrit dans le message de news:
u0rXNOfBIHA.484@TK2MSFTNGP06.phx.gbl...
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et
23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe
Pour les fins de calcul, j'ai choisi des années d'une longueur de 365.25
jours
Les mois sont calculés en fraction d'années
5 mois = (365.25 *5) / 12
Le résultat du calcul est arrondi en utilisant la fonction de la
feuille de calcul "Application.Round" en VBA pour Arrondi
dans la feuille de calcul
Tu copies cette fonction dans un module standard
'-----------------------------------
Function Nbjours(rg As Range)
Dim S As String, Pa As Integer, Pm As Integer
Dim R As Double
S = rg.Value
'Année
Pa = InStr(1, S, "a", vbTextCompare)
If Pa <> 0 Then R = Left(S, Pa - 1) * 365.25
'Mois
Pm = InStr(1, S, "m", vbTextCompare)
If Pm <> 0 Then R = R + (Mid(S, Pa + 1, Pm - Pa - 1) * 365.25) / 12
'Jour
If Pm > 0 Then
If Len(S) - Pm > 0 Then R = R + Right(S, Len(S) - Pm)
End If
Nbjours = Application.Round(R, 0)
End Function
'-----------------------------------
Et pour appeler cette fonction dans ta feuille de calcul
Si en A1, tu as : 1a6m23 Dans la cellule où tu veux obtenir
le résultat en jours, tu inscris : =Nbjours(A1)
Cette formule peut être recopié sur l'ensemble de ta plage !
"Philippe B" a écrit dans le message de news:
Bonjour !
Pour une conversion en jours :
1a6m23 563
1a6m 540
1a0m23 383
1a 360
6m23 203
6m 180
0m23 23
Un grand merci pour votre gentillesse et votre patience !!
Amicalement
Philippe
"MichDenis" a écrit dans le message de news:
u47E$Pour chacun des exemples que tu as donnés, tu as oublié
de mentionner quel était le résultat (format) attendu après traitement.
"Philippe B" a écrit dans le message de news:
e%
Rebonjour,
J'ai, je crois, tous les cas de figure :
1a6m23
1a6m
1a0m23
1a
6m23
6m
0m23
Est-il possible de passer par une fonction ??
Donnez-moi les instructions pour :
Chercher la position en fonction d'une lettre dans un texte
Trouver la longueur d'un texte
Extraire une chaine de caractère à partir d'une position
Je voudrais aussi à partir d'un nombre de jour pouvoir retranscrire ce
nombre de jour sous la forme ex : 1a6m23
Mille merci pour votre aide.
Bonne journée
Philippe
"MichDenis" a écrit dans le message de news:
%Liste en dur, tous les formats qu'il y a dans ta plage de cellules
Tu inscris ici un exemple pour chacun des formats trouvés.
"Philippe B" a écrit dans le message de news:
Bonjour à tous !
Désolé de vous importuner une nouvelle fois avec mes problème de dates.
J'ai un tableau avec des durées codifiées de la façon suivante :
1a6m23 pour dire un an six mois et 23 jours.
Cette formule marche a un détail près :
=GAUCHE(A2;CHERCHE("a";A2;1)-1)*360+(STXT(A2;CHERCHE("a";A2;1)+1;CHERCHE("m";A2)-(CHERCHE("a";A2)+1))*30)+SI(NBCAR(A2)-CHERCHE("m";A2)=0;0;DROITE(A2;NBCAR(A2)-CHERCHE("m";A2)))
Si j'ai pas l'année, j'ai un message d'erreur (ex: 8m23 pour 8 mois et
23
jours)
Serait-il pas plus simple de passer par une fonction ??
Et si c'est pas abuser, une fonction qui permet de passer d'un nombre de
jours et sa formulation xaxmx (ex : 1a6m23).
Un grand merci par avance pour toute votre patience et votre
copréhension.
Amicalement
Philippe