Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Vérifier si une plage de cellule

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

zizoufan

XLDnaute Occasionnel
Bonjour,

J'aimerais savoir si une plage de cellules contient le même mot ( "ok") pour appliquer une macro.

j'ai essayé avec le code suivant mais cela ne marche pas ???

Sub verif()

if range("A1:A3").value = "ok" then
msgbox "vous avez évalué tous"
else
exit sub
end if

End sub
 
Re : Vérifier si une plage de cellule

Re pierrot,

le nombre d'enregistrements est égale à zéro puisque il n'y a pas de lignes sur la feuille BD.
le déroulement de l'application se fait comme suit :
1. sur la feuille "bd" la personne importe tous les enregistrements disponibles via le bouton
2. il évalue un à un via la feuille "FicheEval".
3. Chaque fois qu'il évalue une ligne elle se grise et sur la colonne F on marque ok
4. une fois toutes les lignes sont grisés et donc la toute la colonne contient ok le code objet de cette discussion s'exécute pour masquer la feuille bd.
Ce code marche parfaitement sur excel 2007 comme j'ai expliqué mais pas sur 2003.

je ne sais s'il y a d'autres alternatives pour faire ce que je veux .

Merci par avance
 
Re : Vérifier si une plage de cellule

Bonsoir,

peut être cette solution :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)

' total_enregistrements = derniere cellule non vide de la colonne ok de lafeuille bd 
total_enregistrements = Sheets("bd").Cells(65536, 6).End(xlUp).Row

set P / variable objet changé par P() / variable tableau.
' set P = Range("F3:F" & [total_enregistrements] + 2)
Dim P() As Variant
P = Range("F3:F" & total_enregistrements)

Dim test As Boolean
' initialise la variable a vrais
test = True

' Sil il manque un ok le test est faux
For i = 1 To UBound(P, 1)
 If P(i, 1) <> "ok" Then
    test = False    
 End If
Next i

' si différent de faut (le test est effectué) et la condition remplis
' si c'est faut le test est pas réalisé
If test <> False Then
    MsgBox "vous avez évalué tous les enregistrements"
    Sheets("bd").Visible = xlVeryHidden
    Sheets("Recap").Select
End If

Erase P        ' décharge lavariable tableau
test = Empty ' décharge la variable
i = Empty     ' décharge la variable

End Sub

Laurent
 
Dernière édition:
Re : Vérifier si une plage de cellule

Bonsoir,

Si le nombre d'enregistrements est 0 pas de probleme.

Par contre ce fichier est une usine a gaz, il faudrait revoir toutes les macros.

Ce n'est pas la vocation de ce forum, en tout cas pas la mienne.

A+
 
Re : Vérifier si une plage de cellule

Bonsoir laurent,

Merci pour tes efforts. cela fonctionne-t-il sur excel 2003 ? J'ai pas 2003 sur ce poste pour vérifier.

Bonsoir job,

C'est tout ce que j'ai pu faire en tant que débutant ! Si quelqu'un peut me guider un peu je saurais me débrouiller.
 
Re : Vérifier si une plage de cellule

Bonjour Job,

je reviens vers vous concernant ce problème.
En fait j'ai pu résoudre le problème des propriétés en faisant un enregistrement de macro. Cela marche nickel.
J'ai toujours par contre des problèmes pour ce bout de code en 2003 qui renvoi une erreur :

P = Range("F3:F" & [total_enregistrements] + 2)

Je demande s'il y a une autre facon de vérifier si les lignes non vides contiennent un ok et de pouvoir masquer la feuille en question sans pour autant passer l'événement change du worksheet.

Merci par avance
 
- 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
7
Affichages
454
Réponses
2
Affichages
411
Réponses
9
Affichages
508
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…