Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1771 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  [Excel] Compter le nombre de lettres indentiques

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Excel] Compter le nombre de lettres indentiques

n°1802612
jherek
Roi de Prusse, Pennsylvanie
Posté le 16-11-2004 à 16:50:34  profilanswer
 

J'ai un résultat qui se trouve dans une cellule sous la forme d'une série de lettres (ex: AABBABA). Je cheche à compter le nombres de A et le nombre de B.
 
Aucune fonction de notre Excel 97 US ne permet de compter des lettres. Il peut juste compter des cases non vides ou retourner la position d'une lettre...
 
Merci d'avance :jap:


---------------
Mon blog informatique - Faye Wong, le phenomene chinois
mood
Publicité
Posté le 16-11-2004 à 16:50:34  profilanswer
 

n°1802650
Eniac
Da Mourfis' King
Posté le 16-11-2004 à 17:14:25  profilanswer
 

En VBA, si tu t'y connais un tout petit peu en progra, y'a moyen de faire ça assez facilement.
 
Dans ton exemple ce serait tout bête, mais je suppose que le nombre de caractères différents n'est pas fixe ?  
 
Tu veux que tes résultats soient renvoyés comment ?

n°1803387
jherek
Roi de Prusse, Pennsylvanie
Posté le 17-11-2004 à 09:08:11  profilanswer
 

non le nombre de caractères n'est pas fixe. En fait il s'agit d'une suite de lettres correspondant à des types de congés (R=rtt, F=formation). le but est de compter le nombre de congés restant et pour chaque type de congés.
 
j'ai essayé en VBA mais je connais pas assez les différentes fonctions... :D j'ai pas envie d'acheter un bouquin pour si peu :)


---------------
Mon blog informatique - Faye Wong, le phenomene chinois
n°1803390
jherek
Roi de Prusse, Pennsylvanie
Posté le 17-11-2004 à 09:08:56  profilanswer
 

On peut aussi exploiter cette suite de lettres qui sont, à la base, dans des cases séparées.


---------------
Mon blog informatique - Faye Wong, le phenomene chinois
n°1803497
minikissko​ol
C Frais Mais C Pas Grave
Posté le 17-11-2004 à 10:39:27  profilanswer
 

comprends pas...
 
ça veut dire que dans une même case, il y a 12 R et 3 F à la suite si le type a 12 jours de RTT et 3 jours de formation?

n°1803542
Requin
Posté le 17-11-2004 à 11:25:53  profilanswer
 

Probablement que VBA est proche de VB / VBScript, tu dois pouvoir utiliser le code suivant :
 

Code :
  1. ' Fonction qui calcule le nombre de jours dans une chaîne de caractères
  2. Function NombreJours(sChaine) 
  3.    ' Déclare un tableau global à deux dimensions
  4.    Dim aJours(1,2)
  5.    ' Déclare des variables pour les boucles
  6.    Dim i, j
  7.    ' Déclare une variable pour le caractère "courrant"
  8.    Dim cComp
  9.    ' Intialise le tableau
  10.    '    Colonne 1 = Libellé
  11.    '    Colonne 2 = Lettre associée
  12.    '    Colonne 3 = Résultat
  13.    aJours(0,0) = "RTT"
  14.    aJours(0,1) = "R"
  15.    aJours(0,2) = 0
  16.    aJours(1,0) = "Formation"
  17.    aJours(1,1) = "F"
  18.    aJours(1,2) = 0
  19.    ' parcours la chaîne pour chaque type de jours (première dimension)
  20.    For i = LBound(aJours, 1) to UBound(aJours, 1)
  21.       cComp = UCase(aJours(i, 1)
  22.       For j = 1 To Len(sChaine)
  23.          If cComp = UCase(Mid(sChaine, j, 1)) Then
  24.     ' Si une corespondance est trouvée incrémente le compteur
  25.     aJours(i, 2) = aJours(i, 2) + 1
  26.  End If
  27.       Next
  28.    Next
  29.  
  30.    ' retourne le tableau
  31.    Set NombreJours = aJours
  32. End Function


 
Je ne l'ai pas testé, donc il y a peut-être quelques erreurs de syntaxe. J'ai utilisé un tableau pour des raison de souplesse (il est facile d'y ajouter un élément). La fonction te retourne le tableau complet, tu peux assez facilement la modifier pour qu'en second paramètre tu passe la lettre qui t'intéresse et qu'elle te retourne un entier correspondant au nombre de jours.
 
Si jamais la documentation de VBScript :
http://msdn.microsoft.com/library/ [...] trcomp.asp


Message édité par Requin le 17-11-2004 à 11:28:52
n°1803560
jherek
Roi de Prusse, Pennsylvanie
Posté le 17-11-2004 à 11:41:23  profilanswer
 

merci pour vos réponse, je teste cet après midi :)


---------------
Mon blog informatique - Faye Wong, le phenomene chinois
n°1803561
jherek
Roi de Prusse, Pennsylvanie
Posté le 17-11-2004 à 11:42:36  profilanswer
 

minikisskool a écrit :

comprends pas...
 
ça veut dire que dans une même case, il y a 12 R et 3 F à la suite si le type a 12 jours de RTT et 3 jours de formation?


Oui les lettres représentent les jours de RTT ou formation "posés". Le but étant de les soustraire à leur capital congés pour voir combien de journées ils leur restent à prendre.


Message édité par jherek le 17-11-2004 à 11:42:56

---------------
Mon blog informatique - Faye Wong, le phenomene chinois
n°1803630
minikissko​ol
C Frais Mais C Pas Grave
Posté le 17-11-2004 à 12:23:27  profilanswer
 

mais pourquoi les compiler de cette façon si c'est réparti dans plusieurs cases à la base?
 
c'est quand même plus simple de les compter de cette façon...

n°1803761
jherek
Roi de Prusse, Pennsylvanie
Posté le 17-11-2004 à 13:58:36  profilanswer
 

Ca ne change rien pour moi, Excel n'a pas de fonctions pour les compter ! ni dans les cases, ni ensemble.
 
Après si on fait une fonction VB, c'est peut être plus simple de faire une boucle que de compter les lettres dans une meme cellule, je sais pas :D


---------------
Mon blog informatique - Faye Wong, le phenomene chinois
mood
Publicité
Posté le 17-11-2004 à 13:58:36  profilanswer
 

n°1803777
minikissko​ol
C Frais Mais C Pas Grave
Posté le 17-11-2004 à 14:08:28  profilanswer
 

=NB.SI(Matrice_de_référence;"R" )
 
je pense que ça existe même dans excel97... ;)

n°1803874
jherek
Roi de Prusse, Pennsylvanie
Posté le 17-11-2004 à 15:24:34  profilanswer
 

YES ! je t'aime mini kisscool !
en US c'est "COUNTIF(range;"condition" ) :)


---------------
Mon blog informatique - Faye Wong, le phenomene chinois

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  [Excel] Compter le nombre de lettres indentiques

 

Sujets relatifs
[Excel] Cell data too largeConvertisseur *.wks => Excel
[Excel] Faire les calculs sauf si ...Meilleure boite aux lettres actuelle ?
Problème Excel 2003 (voir image dans sujet)débit ADSL par rapport au nombre d'utilisateur
Impossible d'ouvrir Excel 2000à l'ouverture d'excel mon pc reboot tout seul!!
Excel - tri à l'intérieur d'une cellulereduite la taille de la boite aux lettres sur outlook
Plus de sujets relatifs à : [Excel] Compter le nombre de lettres indentiques


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR