Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion Hoareau
  • 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 !

Hoareau

XLDnaute Occasionnel
Bonjour

y aurait t-il un moyen de faire réference à une plage de cellules pour Case "m²", "ml", "m3", "u", de sorte que le contenu ne soit pas figé

m²,m3,u,ml etc... serait dans des cellules


merci

Sub Unite_2()
Set unit = Range("b16:b70")

For Each c In unit

Select Case c.Text

Case "m²", "ml", "m3", "u"

c.Offset(0, 2).Value = "10 0000"

c.Offset(0, 2).Interior.ColorIndex = 12

Case "ens"

c.Offset(0, 2).Value = "20 0000"

c.Offset(0, 2).Interior.ColorIndex = 10

Case Else
c.Offset(0, 2).Interior.ColorIndex = 4

End Select

Next

End Sub
 
Re : Select case

Bonjour à tous

Hoareau
Si j'ai bien compris ta question
(Je l'aurai surement mieux comprise avec un fichier exemple joint... 😉)

Donc voici mon interprétation (sans Select Case, histoire de varier les plaisirs 😉 )
Pour tester, lancer la macro Test
VB:
Private Sub Unite_3(Plage$, chaine1$, chaine2$)
Dim c As Range, unit As Range
Set unit = Range(Plage)
For Each c In unit
If Len(c) > 0 Then
If InStr(chaine1, c.Text) > 0 Then
c.Offset(, 2).Value = 100000
c.Offset(, 2).Interior.ColorIndex = 12
ElseIf InStr(chaine2, c.Text) > 0 Then
c.Offset(, 2).Value = 200000
c.Offset(, 2).Interior.ColorIndex = 10
Else
c.Offset(, 2).Interior.ColorIndex = 4
End If
End If
Next
End Sub
VB:
Sub Test()
Unite_3 "B16:B70", "m²mlm3u", "ens"
End Sub
 
Re : Select case

salut

un autreessai (plages à adapter) avec ce que j'ai compris
Code:
  Dim Dl As Long, Cherche As Range, C As Range
  Dl = Cells(Rows.Count, 1).End(xlUp).Row
  For Each C In Range("A12:A" & Dl).SpecialCells(xlCellTypeConstants)
    Set Cherche = Columns("C:AA").Find(C, LookIn:=xlValues, LookAt:=xlWhole)
    If Not Cherche Is Nothing Then
      Select Case Cherche.Column
      Case 3
        C.Offset(0, 1).Value = "10 0000"
        C.Offset(0, 1).Interior.ColorIndex = 12
      Case 4
        C.Offset(0, 1).Value = "20 0000"
        C.Offset(0, 1).Interior.ColorIndex = 10
      Case Else
        C.Offset(0, 1).Interior.ColorIndex = 4
      End Select
    End If
  Next
 
- 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

  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
588
Réponses
4
Affichages
730
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
903
Réponses
4
Affichages
652
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…