Sélectionner cellule avec le plus grand nombre de caractères

Bonjour,

Après plusieurs recherches et de tests je n'est pas trouvé de solution à mon problème.

Je recherche une solution afin de trouver une macro qui me permettrait pour une ligne sélectionnée de trouver la cellule qui a le plus importants nombre de caractères.

Par exemple si je sélectionne les cellules A1 ; B1 ; C1 ;

Celles si contiennent les mots suivants : un ; le chat ; transporteur

Je voudrais que le code me permette de sélectionner la cellule C1 étant donné qu'elle contient le plus de caractère.

Merci a tous.

bonjour,

une proposition

Sub aarg()
    For Each c In Selection
        If Len(c) > Len(ActiveCell) Then c.Activate
    Next c
    ActiveCell.Select
End Sub

Bonjour,

Ci-joint ton fichier test ...

Pas besoin de macro ...

Edit : Salut h2so4

Bonjour,

Essaies :

Option Explicit
Sub SelectionValeurLaPlusLongue()
Dim C As Range
Dim S As Range
Dim L As Integer

  If TypeName(Selection) <> "Range" Then Exit Sub
  For Each C In Selection.Cells
    If L < Len(C.Text) Then
      L = Len(C.Text)
      Set S = C
    End If
  Next
  If Not S Is Nothing Then S.Select

End Sub

Bonjour Patrice33740, je trouve que c'est une très bonne solution !

juste un petit détail : le code serait plus facilement compréhensible avec

If Len(C.Text) >= L Then (j'avais cru que le sens du test était erroné)

Et si plusieurs cellules ont la même longueur :

    Option Explicit
    Sub SelectionValeurLaPlusLongue()
    Dim C As Range
    Dim S As Range
    Dim L As Integer

      If TypeName(Selection) <> "Range" Then Exit Sub
      For Each C In Selection.Cells
        If L < Len(C.Text) Then
          L = Len(C.Text)
          Set S = C
        ElseIf L = Len(C.Text) Then
          Set S = Union(S, C)
        End If
      Next
      If Not S Is Nothing Then S.Select

    End Sub

Merci a tous pour vos réponses si rapide.

Ta solution h2so4 est exactement se qu'il me fallait. Je vais regarder également vos autres propositions.

Merci.

Bonjour, petit bidouilleur avec VBA,

ton dernier code me plait beaucoup.

Je tente de le compléter pour supprimer la ligne entière du dessous de la sélection multiple mais sans succès.

J'ai ajouté "If Not S Is Nothing Then S.EntireRow.Select"

Aussi le top serait que je puisse prédéfinir la plage plutôt que d'opérer la sélection avant de lancer la macro.

J'ai l'intime conviction que vas pouvoir m'aider.

D'avance, merci.

Rechercher des sujets similaires à "selectionner grand nombre caracteres"