Tester valeurs des cellules de plusieurs colonnes et lignes

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

Nagrom

XLDnaute Occasionnel
Bonjour,

Je souhaiterai passer en revue 5 lignes (2 à 6) de 5 colonnes (B à F) pour tester la présence d'une valeur dans ces cellules. J'ai tappé le code suivant mais ça ne fonctionne pas. Pourriez-vous m'indiquer ce qui ne va pas.

Code:
Sub test()

For i = B To F
For j = 2 To 6

If Sheets("page1").Range(i & j).Value = B3 Then
    Range("P11").Value = "1"
End If

Next i
Next j


End Sub

Merci d'avance.
 
Re : Tester valeurs des cellules de plusieurs colonnes et lignes

Bonjour Nagrom
Essayez ceci :
Code:
[COLOR="DarkSlateGray"][B]Sub test()
Dim i, j
   For i = 2 To 6
      For j = 2 To 6
         If Sheets("page1").Cells(j, i).Value = "B3" Then
            Range("P11").Value = "1"
         End If
      Next j
   Next i
End Sub[/B][/COLOR]
ROGER2327
#3062
 
Re : Tester valeurs des cellules de plusieurs colonnes et lignes

Bonsoir Nagrom, salut Roger,

Aussi par la méthode Find :

Code:
Dim ref As Range
Set ref = Sheets("page1").Range("B2:F6").Find(Range("B3"), LookIn:=xlValues, LookAt:=xlWhole)
If Not ref Is Nothing Then Range("P11") = 1

A+
 
Re : Tester valeurs des cellules de plusieurs colonnes et lignes

Salut C-C,

Et en plus simple :

Code:
If Application.CountIf([B2:F6], [B3]) Then [P11] = 1

ou cette formule en P11:

Code:
=REPT(1;SIGNE(NB.SI(B2:F6;B3)))

A+
 
Re : Tester valeurs des cellules de plusieurs colonnes et lignes

Re,

C-C a raison, B3 est dans la zone de recherche...

Alors peut-être modifier comme suit (il faut trouver au moins 2 valeurs) :

Code:
If Application.CountIf([B2:F6], [B3]) > 1 Then [P11] = 1

ou la formule en P11 :

Code:
=REPT(1;NB.SI(B2:F6;B3)>1)

A+
 
Re : Tester valeurs des cellules de plusieurs colonnes et lignes

Bonjour,

Je souhaiterai que si la valeur de la cellule B3 est présente dans la colonne A, le chiffre 1 soit inscrit dans la cellule P11, si présent dans la colonne B, le chiffre 1 soit inscrit dans la cellule P12... Si ce n'est pas le cas, la valeur 0 est inscrite dans la cellule P associée à la colonne

J'ai modifié le code de C-C comme ceci mais ça n'a pas l'air de marcher:

Code:
Sub testb_bis()


Dim i As Byte, j As Byte, X As Integer
X = 0
Z = 16
   For i = 2 To 6
      For j = 2 To 6
        If Sheets("page1").Cells(j, i).Value = Range("A1") Then
        X = X + 1
            Cells(11, Z).Value = X
                   
            Else: Cells(11, Z).Value = "0"
            
        End If
    Next j
    Z = Z + 1
    Next i
     
End Sub

Merci pour votre aide.
 
Dernière édition:
Re : Tester valeurs des cellules de plusieurs colonnes et lignes

Bonjour,

Code:
Sub Recherche()
Dim n As Byte
[P11:P25].ClearContents
For n = 1 To 15 'pour colonnes de A à O
  [P10].Offset(n) = IIf(Application.CountIf(Columns(n), [B3]) > IIf(n = [B3].Column, 1, 0), 1, 0)
Next
End Sub

Evidemment pour la colonne où se trouve B3 (colonne 2), 1 s'inscrit en P12 s'il y a au moins 2 valeurs.

Et pourquoi du VBA ? Comme déjà dit, des formules utilisant NB.SI en P11 P12... sont beaucoup plus élégantes.

Mais vous préférez peut-être un marteau pour écraser une mouche 😀

A+
 
- 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
8
Affichages
233
Réponses
4
Affichages
177
Réponses
10
Affichages
281
Réponses
2
Affichages
201
Réponses
8
Affichages
466
Réponses
5
Affichages
182
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
Retour