Petite modif VBA

Résolu/Fermé
JANGO5 Messages postés 92 Date d'inscription mardi 18 juin 2013 Statut Membre Dernière intervention 13 août 2014 - Modifié par irongege le 12/09/2013 à 12:14
JANGO5 Messages postés 92 Date d'inscription mardi 18 juin 2013 Statut Membre Dernière intervention 13 août 2014 - 17 sept. 2013 à 14:01
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 lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
12 sept. 2013 à 14:26
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 mardi 18 juin 2013 Statut Membre Dernière intervention 13 août 2014 1
13 sept. 2013 à 10:26
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 mardi 18 juin 2013 Statut Membre Dernière intervention 13 août 2014 1
16 sept. 2013 à 17:56
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 lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149 > JANGO5 Messages postés 92 Date d'inscription mardi 18 juin 2013 Statut Membre Dernière intervention 13 août 2014
16 sept. 2013 à 19:07
À 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 mardi 18 juin 2013 Statut Membre Dernière intervention 13 août 2014 1
17 sept. 2013 à 11:47
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 lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
17 sept. 2013 à 12:03
Sans le fichier, je ne comprends pas.
Tu peux le placer sur https://www.cjoint.com/ si tu veux.
0