Une boucle pour incrémenter une variable.

  • Initiateur de la discussion Initiateur de la discussion cibleo
  • 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 !

cibleo

XLDnaute Impliqué
Bonjour le forum,

Feuille "Clients", colonne A, j'ai une liste de noms.

Feuille "Planning", je peux retrouver ces noms dans la plage (B4:L4) parmi d'autres.

Dans mon exemple, m'intéresse seulement ceux-ci : Mme Olivaux, Mr Brisevin, Mr Leclerc puisqu'ils sont les seuls à figurer en colonne A feuille Client.

J'aimerais donc les retrouver dans ma variable, comme ceci : Mme Olivaux, Mr Brisevin, Mr Leclerc,

Autre problème : il ne doit pas avoir de doublons dans la variable, même si l'on retrouve 2 fois le nom dans la plage (B4:L4).

Je vous présente le code que j'ai essayé de créer, ça cloche 🙄

Code:
Sub MaVar_A_Incrementer()
Dim Mavar As String
Dim rng1 As Range, rng2 As Range
  Set rng1 = Sheets("Clients").Range("A1:A8")
  Set rng2 = Range("B4:L4")
 
  For Each x In rng1     ' pour chaque cellule de rng1
    With Sheets("planning")
      Set c = rng2.Find(what:=x, LookIn:=xlValues)   ' trouver le premier dans rng2
      If Not c Is Nothing Then
        premier = c.Address
        Do
          Mavar = Mavar & "," & " " & x
          MsgBox Mavar
          Set c = rng2.FindNext(c)
        Loop While Not c Is Nothing And c.Address <> premier
      End If
    End With
  Next x
 
End Sub

Cibleo
 

Pièces jointes

Re : Une boucle pour incrémenter une variable.

Super PierreJean 🙂

La petite erreur de frappe sur la 2ème ligne rectifiée + l'instruction en rouge rajoutée et le résultat souhaité est obtenu 🙂

Code:
If Trim(Mavar) = rng2(0) Then Mavar = "des " & rng2(0)
If Trim(Mavar) = rng2(1) Then Mavar = "un " & rng2([COLOR=red]1[/COLOR])
If Trim(Mavar) = rng2(0) & " " & rng2(1) Then Mavar = "des " & rng2(0) & " ou un " & rng2(1)
[COLOR=red]If Trim(Mavar) = rng2(1) & " " & rng2(0) Then Mavar = "un " & rng2(1) & " ou des " & rng2(0)[/COLOR]

Mille mercis Pierrejean

A bientôt Cibleo
 
Dernière édition:
- 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

Discussions similaires

Réponses
2
Affichages
371
Réponses
4
Affichages
723
Retour