Petite modif VBA

Résolu
JANGO5 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   -  
JANGO5 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerais modifier une Macro VBA , Celle-ci à partir de 8 colonne me prend le premier numéro trouvé dans ces 8 colonne et me l'affiche dans la 9ème.
Aujourd'hui j'ai besoin que la macro me prennent le numéro le plus présent dans les 8 colonne plutôt que le premier trouvé (on parle d'une ligne des 8 colonnes) .
Merci.
"
Public Function ChoixNumero(Liste As Range) As String
Dim cellule As Range
Dim numero As String

numero = ""

For Each cellule In Liste
If Not Application.IsNA(cellule.Value) Then
If Len(numero) = 0 Then
numero = cellule.Value
ElseIf numero <> cellule.Value Then
numero = "ERREUR:" & numero
Exit For
End If
End If
Next cellule
ChoixNumero = numero
End Function
"

1 réponse

Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
Bonjour,

"Petite" modif... C'est l'essence de la macro qui est à changer.
Essaie ça :
Public Function ChoixNumero(Liste As Range) As String
Dim cellule As Range
Dim numero As String
Dim a As Integer, a_max As Integer, val_max As String

a = 0
a_max = 0
numero = ""

For Each cellule In Liste
a = Application.WorksheetFunction.CountIf(Liste, cellule)
If a > a_max Then
a_max = a
val_max = cellule.Value
End If
Next cellule
ChoixNumero = val_max

End Function

A+
1
JANGO5 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   1
 
Impeccable
Merci ça marche bien , il y a juste un petit détail que je n'arrive pas à intégrer : le message d'erreur dans la macro précédente :
If Len(numero) = 0 Then
numero = cellule.Value
ElseIf numero <> cellule.Value Then
numero = "ERREUR:" & numero
Exit For

Merci encore
0
JANGO5 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   1
 
est-ce que c'est possible dem'integer le msg d'erreur svp
je galère !!

Merci bcp !!
0
Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149 > JANGO5 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention  
 
À quoi correspond une erreur ? Là,j'ai l'impression que tous les numéros doivent être identiques pour qu'il n'y ait pas d'erreur (sans Excel sous la main)
0
JANGO5 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   1
 
Au fait des fois j'ai #N/A dans des cellules avec ou non un numéro dans le vas où je n'ai que des #N/A la macro retourne une valeur vide . dans le cas ou il ya un ou plusieurs numéros avec des #N/A la macro retourne ERREUR:numero comme dans la macro de départ comme ça dans une dixème colonne (finale) je met cette formule : " =SI(GAUCHE(P2;6)="ERREUR";STXT(P2;8;100);P2) "
0
Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
Sans le fichier, je ne comprends pas.
Tu peux le placer sur https://www.cjoint.com/ si tu veux.
0