Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Formule nombre de colonnes.

  • Initiateur de la discussion Initiateur de la discussion JJ1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JJ1

Guest
Bonjour,

Suite à l'aide de JHA hier (que je remercie) j'ai pu concaténer mon fichier.

Le problème est qu'il n'est pas facile de travailler en texte.

je joins un bout d'exemple (en copiage/valeur) ou je recherche:
- le nombre de colonnes depuis une cellule contenant plus d'un nombre en BD7.
- le nombre de différents nombres dans cet espace. (pas simple car concaténé en texte avec séparateur " ") en BE7

pour info, la formule de concaténation de JHA dans le fichier réel est:

=SI(NB.SI(G$1:G$5;$A7)=1;$A7;"")&" "&SI(NB.SI(G$1:G$5;$B7)=1;$B7;"")&" "&SI(NB.SI(G$1:G$5;$C7)=1;$C7;"")&" "&SI(NB.SI(G$1:G$5;$D7)=1;$D7;"")&" "&SI(NB.SI(G$1:G$5;$E7)=1;$E7;" ")


Merci à vous.
Bonne soirée
 

Pièces jointes

Re : Formule nombre de colonnes.

Erreur dans mon énoncé:
- le nombre de colonnes NON VIDES depuis une cellule contenant plus d'un nombre en BD7.
LPbis corrigé joint.
Excusez-moi.
 

Pièces jointes

Re : Formule nombre de colonnes.

Bonsoir,
pour le nombre de colonnes, une fonction personnalisée à tester :
Code:
Function NbCol(Plage As Range) As Long
Dim s, i&, j&, Nb&, Chaine As String
For i = 1 To Plage.Count
    Chaine = Trim(Chaine & Application.Trim(Plage(i)) & ";")
Next i
s = Split(Chaine, ";")
For i = LBound(s) To UBound(s)
    If InStr(1, s(i), " ") > 0 Then
        For j = i + 1 To Plage.Count
            If s(j) <> "" Then Nb = Nb + 1
        Next j
    End If
Next i
NbCol = Nb
End Function
Code:
=NbCol(AJ7:BC7)
ramène 8

Pour le nombre de nombres différents, j'ai une solution mais c'est du RegExp...si personne ne te donne de solution satisfaisante, je la posterai.
A+
 
Dernière édition:
Re : Formule nombre de colonnes.

Bonsoir David,
Merci pour ta fonction.
Je l'ai installée mais elle me donne des résultats faux (200 colonnes au lieu de 3)

J'ai l'impression qu'elle ne tient pas compte du fait que chaque cellule contient la formule de concaténation de JHA (qui n'est pas dans mon exemple suite au copiage/valeur) et donc les cellules ne sont pas "entièrement" vides?
Les cellules contiennent donc 1 à 5 nombres séparés par " " ou la formule seule sans résultat.


Merci

Bonne soirée
 
Re : Formule nombre de colonnes.

Re
Tu n'as placé qu'un exemple sur ton fichier. Je n'ai donc pu tester que sur celui-ci...
peut-être en remplaçant
Code:
If s(j) <>"" Then Nb = Nb + 1
par
Code:
If Len(s(j)) > 0 Then Nb = Nb + 1
A+
 
Dernière édition:
Re : Formule nombre de colonnes.

Re
Concernant ta 1ère question, tu peux utiliser in dictionnaire :
Code:
Function Nombre_diff(Plage As Range) As Long
Dim dico As Object, Chaine As String, i As Long, s
For i = 1 To Plage.Count
    Chaine = Chaine & Plage(i) & " "
Next i
Chaine = Application.WorksheetFunction.Trim(Chaine)
s = Split(Chaine, " ")
Set dico = CreateObject("scripting.dictionary")
For i = LBound(s) To UBound(s)
    dico(s(i)) = dico(s(i))
Next i
Nombre_diff = dico.Count
End Function
Code:
=Nombre_diff(AJ7:BC7)
ramène 5 sur ton seul exemple fourni.
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
553
Réponses
22
Affichages
2 K
Réponses
3
Affichages
441
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…