Compter cellules en majucules

Caninge

XLDnaute Accro
Bonjour aux excelliens et excelliennes

J'ai 2 questions à poser dans le même fichier:

1 Nombre de cellules contenant du texte uniquement en majucules

2 Mettre ces mêmes cellules dans le même ordre dans une autre plage

Je vous remercie

[file name=Texte.zip size=2123]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Texte.zip[/file]
 

Pièces jointes

  • Texte.zip
    2.1 KB · Affichages: 11
  • Texte.zip
    2.1 KB · Affichages: 7
  • Texte.zip
    2.1 KB · Affichages: 11

Ti_

Nous a quitté
Repose en paix
pour compter le nombre de mots en majuscules, utilise cette formule :

=SOMMEPROD((E7:E18<>'')*(EXACT(E7:E18;MAJUSCULE(E7:E18))))

et pour copier les mots en majuscules vers une autre plage, tu peux utiliser cette macro :


Sub copieMajuscules() 'Ti
Dim PlageS As Range, PlageD As Range
Dim Cel As Range
With Worksheets('Feuil1')
Set PlageS = .Range('E7:E18')
Set PlageD = .Range('G7')
End With
For Each Cel In PlageS
If Cel <> '' And UCase(Cel) = Cel Then
PlageD = Cel
Set PlageD = PlageD.Offset(1, 0)
End If
Next Cel
End Sub
 

ChTi160

XLDnaute Barbatruc
Salut Caninge
Bonjour le Forum

Oupsssssssss Salut Ti pas vu excuses
une possibilité en pièce Jointe

bonne Journée
[file name=TexteV1.zip size=8420]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TexteV1.zip[/file]

Message édité par: Chti160, à: 17/09/2005 10:29
 

Pièces jointes

  • TexteV1.zip
    8.2 KB · Affichages: 15

Caninge

XLDnaute Accro
Bonjour Jean-Marie Ti_

Merci de m'avoir répondu

Pour le calcul des cellules c'est Ok

Pour afficher les cellules c'est bon aussi.

Mais une formule sans macro m'interresserait bien aussi je ne sais pas j'ai essayé avec DECALER mais ...........

Merci

Caninge
 

andré

XLDnaute Barbatruc
Salut Caninge, Ti_, ChTi160 et les autres,

Avec une colonne supplémentaire (A) en Feuil1 (le noms se situant dès lors en colonne B).

Laisser la ligne 1 de la Feuil1 vide.
En A2 de la Feuil1 : =SI(ET(B2<>'';EXACT(B2;MAJUSCULE(B2)));MAX($A$1:$A1)+1;'')
formule à copier vers le bas

Laisser la ligne 1 de la Feuil2 vide.
En A2 de la Feuil2 : =SI(NBVAL($A$1:$A1)+1>MAX(Feuil1!A:A);'';RECHERCHEV(NBVAL($A$1:$A1)+1;Feuil1!A:B;2;0))
formule à copier vers le bas

Â+
 

Bricofire

XLDnaute Impliqué
Bonjour Caninje, ChTI160, Ti_ :)

Bon, si pas d'autre solutionà venir, tant qu'à faire de retenir le vba, autant tout y mettre, ma solution étant bien plus alambiquée (analyse de chaque caractère...), je 'squatte' le code de Ti qui est plus 'sioux' ;) et y ajoute le compteur.


Sub copieMajuscules() ' SOLUTIONN DE TI !!!!!!
Dim PlageS As Range, PlageD As Range
Dim Cel As Range
Dim Total As Integer
With Worksheets('Feuil1')
Set PlageS = .Range('E7:E18')
Set PlageD = .Range('G7')
End With
For Each Cel In PlageS
If Cel <> '' And UCase(Cel) = Cel Then
PlageD = Cel
Set PlageD = PlageD.Offset(1, 0)
Total = Total + 1 '+ compteur
End If
Next Cel
Range('E21') = Total
End Sub


Bon WE à tous,

Bfr
 

Ti_

Nous a quitté
Repose en paix
ah ben alors une solution simple dans le fichier joint :

[file name=Texte2.zip size=5997]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Texte2.zip[/file]
 

Pièces jointes

  • Texte2.zip
    5.9 KB · Affichages: 13

JeanMarie

XLDnaute Barbatruc
Bonjour tout le monde

Essaye cette formule, à valider par Ctrl+Shift+Entrer (oubli important)
=INDEX(E$7:E$19;PETITE.VALEUR(SI((EXACT(E$7:E$19;MAJUSCULE(E$7:E$19)))*(E$7:E$19<>'');LIGNE(A$1:A$13);13);LIGNES($7:7));1)&''

E$7:E$19, contient une ligne de plus, pour afficher une ligne blanche, cela va éviter de faire une gestion d'erreur, et une MFC

A$1:A$13, doit commencer toujours commencer à la ligne 1, elle doit aussi avoir le même nombre de lignes que la la plage E$7:E$19

13, correspond à la ligne rajoutée pour la gestion d'erreur, tu peux remplacer cette constante par la fonction LIGNES(E$7:E$19), mais ce sont des temps de calcul.

$7:7, 7 étant le n° de la première ligne qui affiche la donnée en majuscule.

&'', Astuce de Monique, cela évite d'afficher un 0 quand la ligne est vide (autre oubli)

@+Jean-Marie

Message édité par: JeanMarie, à: 17/09/2005 11:27
 

Caninge

XLDnaute Accro
Rebonjour


J'ai regardé et je ne comprends pas trop les solutions

En faite mon exemple ne refléte pas trop l'original.

les données à récupérer ne sont pas dans la même feuille !

Je joins un autre fichier !

Merci
[file name=TexteV2.zip size=2129]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TexteV2.zip[/file]
 

Pièces jointes

  • TexteV2.zip
    2.1 KB · Affichages: 9

Gérard DEZAMIS

XLDnaute Accro
Bonjour à tous

La mouche du coche arrive !

Salut Caninge
la solution de Ti_ avec un copier coller de la plage d''arrivée' en feuille 2 et ta solution est prête Non ?

@+ GD [file name=Texte2BIS.zip size=5562]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Texte2BIS.zip[/file]
 

Pièces jointes

  • Texte2BIS.zip
    5.4 KB · Affichages: 11

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 501
dernier inscrit
talebafia