Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 27/05/2006, 11h56   #1 (permalink)
Top Gun
Guest
 
Messages: n/a
Par défaut Problème d'intervalles particuliers

Rebonjour,

Je reviens pour un autre thème,

Un jour on doit parcourir un trajet qui part d'un point A vers un autre point et retour en A
Un autre jour, on part de A, on passe par plusieurs points pour arriver en un dernier point pour ce jour, soit F, le lendemain, on repart de F et à la fin du jour on revient en A.

A chaque fois que l'on part ou que l'on arrive en A, une indemnité est allouée, c'est à dire que dans le premier cas on reçoit 2 indemnités, car le même jour on est passé 2 fois en A. Le deuxième jour, on ne reçoit qu'une seule indemnité car on n'est passé qu'une fois en A au départ et que l'on n'y est pas revenu.

Je joins un fichier pour illustrer.

Comment dois-je faire pour automatiser le nombre d'indemnités par jour, ou trajets en colonne C, en fonction des parcours inscrits dans la colonne B de mon fichier.

Merci d'avance. [file name=Trajets.zip size=2998]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Trajets.zip[/file]
Fichiers attachés
Type de fichier : zip Trajets.zip (2,9 Ko, 1 affichages)
  Réponse avec citation
ANNONCES
Vieux 27/05/2006, 12h12   #2 (permalink)
XLDnaute Barbatruc
 
Avatar de Hervé
 
Date d'inscription: février 2005
Localisation: Saint-Etienne
Version Excel : Excel XP (PC)
Messages: 4 420
Par défaut Re:Problème d'intervalles particuliers

BOnjour

en attendant les réponses par formule, une solution VBA par fonction personnalisée.


Citation:
PublicFunction nombredeA(cellule As Range)
Dim i As Byte

For i = 1 To Len(cellule)
* * * * nombredeA = nombredeA - (Mid(cellule, i, 1) = 'A')
Next i
End Function

salut [file name=Trajets_20060527121253.zip size=8045]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Trajets_20060527121253.zip[/file]
Fichiers attachés
Type de fichier : zip Trajets_20060527121253.zip (7,9 Ko, 1 affichages)
Hervé est déconnecté   Réponse avec citation
Vieux 27/05/2006, 12h19   #3 (permalink)
XLDnaute Barbatruc
 
Avatar de jmps
 
Date d'inscription: février 2005
Localisation: Saint Philbert de Grand Lieu
Version Excel : Excel XP (PC)
Messages: 4 595
Par défaut Re:Problème d'intervalles particuliers

Bonjour Top Gun, Hervé,

Pour une fois que je trouve une formule :

=NBCAR(A1)-NBCAR(SUBSTITUE(A1;'A';''))

Bon, y'a sûrement plus court...

Bonne journée.
__________________

A+

jmps est déconnecté   Réponse avec citation
Vieux 27/05/2006, 12h29   #4 (permalink)
henri
Guest
 
Messages: n/a
Par défaut Re:Problème d'intervalles particuliers

Bonjour,
une autre approche,plus simple. [file name=nbsi_20060527122943.zip size=1403]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/nbsi_20060527122943.zip[/file]
Fichiers attachés
Type de fichier : zip nbsi_20060527122943.zip (1,4 Ko, 1 affichages)
  Réponse avec citation
Vieux 27/05/2006, 13h57   #5 (permalink)
XLDnaute Barbatruc
 
Avatar de jmps
 
Date d'inscription: février 2005
Localisation: Saint Philbert de Grand Lieu
Version Excel : Excel XP (PC)
Messages: 4 595
Par défaut Re:Problème d'intervalles particuliers

Bonjour Henri,

Plus simple, je ne sais pas...
Notre ami Top Gun ne souhaite peut-être pas éclater sa cellule en plusieurs colonnes...

Seul lui nous le dira.

Bon après-midi.
__________________

A+

jmps est déconnecté   Réponse avec citation
Vieux 27/05/2006, 15h09   #6 (permalink)
Top Gun
Guest
 
Messages: n/a
Par défaut Re:Problème d'intervalles particuliers

Rebonjour,

Je confirme que la suite A B C D se trouve dans la même cellule.

En fait, j'avais simplifié le problème, car voici comment ça se présente en vrai:

Les villes sont déterminées par des trigrammes, en particulier les aéroports. De ce fait, si on part de CDG ( Roissy CDG) pour aller à MRS (Marseille) et retour à CDG le même jour, ceci donne: CDG MRS CDG dans la même cellule. Dans ce cas il y a une indemnité de transport pour aller à CDG depuis le domicile et une autre le soir du même jour pour y revenir. Ceci en fait 2 le même jour.

Mais si on fait CDG MRS BOD ( Bordeaux) et qu'on y reste le soir, il n'y aplus qu'une seule indemnité pour le matin puiqu'on ne revient pas au point de départ.

Enfin, pour plus de précision, les groupes de trigrammes peuvent être plus longs CDG MRS BOD SXB BOD CDG avec SXB ( Strasbourg). Ces ensembles sont les résultats de concaténations pour information.

J'espère que tout ceci est plus explicite. Merci d'avance.
  Réponse avec citation
Vieux 27/05/2006, 16h18   #7 (permalink)
XLDnaute Barbatruc
 
Avatar de jmps
 
Date d'inscription: février 2005
Localisation: Saint Philbert de Grand Lieu
Version Excel : Excel XP (PC)
Messages: 4 595
Par défaut Re:Problème d'intervalles particuliers

Re,

Je crois qu'en modifiant la formule comme ça :

=(NBCAR(A1)-NBCAR(SUBSTITUE(A1;'CDG';'')))/3

ça doit encore fonctionner. A condition qu'on parle de TRIgrammes effectivement.

Le commandant jmps et son équipage vous souhaitent un bon séjour à CDG, BOR, SXB, MRS, ... B)
__________________

A+

jmps est déconnecté   Réponse avec citation
Vieux 28/05/2006, 04h30   #8 (permalink)
laM
Guest
 
Messages: n/a
Par défaut Re:Problème d'intervalles particuliers

Bonjour à tous

On peut peut-être tricher en se disant que si sur un trajet la ville de départ et la ville d'arrivée sont les mêmes alors il y a deux indemnités, sinon une seule.

Soit en B2 un trajet.
En supposant que les villes sont séparées par au moins un espace :
CHERCHE(' ';B2)-1)
devrait donner la position de ce premier espace et donc donner la longueur de la première chaîne de caractères +1. Chaîne correspondante à la ville de départ.

GAUCHE(B2;CHERCHE(' ';B2)-1)
devrait extraire le nom de la ville de départ

DROITE(B2;CHERCHE(' ';B2)-1)
la ville d'arrivée

Au bilan, si ces 2 chaînes sont identiques 2 sinon 1 (indemnités).
=SI(GAUCHE(B2;CHERCHE(' ';B2)-1)=DROITE(B2;CHERCHE(' ';B2)-1);2;1)

Au revoir à bientôt
  Réponse avec citation
Vieux 28/05/2006, 08h44   #9 (permalink)
AV
Guest
 
Messages: n/a
Par défaut Re:Problème d'intervalles particuliers

Ave,

Matricielle :

=SI(GAUCHE(A2;TROUVE('' '';A2)-1)=DROITE(A2;EQUIV('' '';STXT(A2;NBCAR(A2)-LIGNE(INDIRECT('1:'&NBCAR(A2)));1);0));2;1)

AV [aaa]
  Réponse avec citation
Vieux 28/05/2006, 08h48   #10 (permalink)
AV
Guest
 
Messages: n/a
Par défaut Re:Problème d'intervalles particuliers

Ave,

''...=SI(GAUCHE(B2;CHERCHE(' ';B2)-1)=DROITE(B2;CHERCHE(' ';B2)-1);2;1)...''

Inconvénient possible...
Exemple avec en B2 la chaîne suivante : A B C AA

Ta formule va renvoyer 2 au lieu de 1 (départ et arrivée différents)

AV [aaa]
  Réponse avec citation
Vieux 28/05/2006, 09h43   #11 (permalink)
XLDnaute Accro
 
Date d'inscription: février 2005
Localisation: Aubenas
Version Excel : Excel 2000 (PC)
Messages: 1 126
Par défaut Re:Problème d'intervalles particuliers

Bonjour Tout le monde,

Juste pour le fun et parce que c'est Dimanche, fonction utilisant les 'REGULAR EXPRESSIONS'...

Function compterCDG(parcours As String)
' la bibliothèque Microsoft VBSCRIPT REGULAR EXPRESSIONS 5.5 doit être activée
Dim reg As VBScript_RegExp_55.RegExp
Dim mot As VBScript_RegExp_55.Match
Dim texte As VBScript_RegExp_55.MatchCollection


Set reg = New VBScript_RegExp_55.RegExp
reg.Global = True
reg.Pattern = 'CDG'

Set texte = reg.Execute(parcours)
For Each mot In texte
compterCDG = compterCDG + 1
Next mot

End Function
__________________
A+
Michel_M
michel_m est déconnecté   Réponse avec citation
Vieux 29/05/2006, 04h07   #12 (permalink)
laM
Guest
 
Messages: n/a
Par défaut Re:Problème d'intervalles particuliers

Bonjour à tous

Juste un petit mot pour AV :

Il n'y a pas d'inconvénient à essayer une formule, avec un test, ce qui permet de constater que ma formule prend en compte la longueur de la chaîne. Les 2 chaînes doivent donc impérativement être identique.
A B C AA = 1

Au revoir, à bientôt
  Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 07h37.


(C) 2006 Excel Downloads