Vérifier range
Bonjour
J'ai défini un range de 8 cellules (B1 à I1)
Chaque cellule contient un chiffre ou est vide
Le code doit inscrire 1 dans la cellule A1 si ce chiffre est absent du range défini ci-dessus.
Sub TestCandidats()
Dim ws As Worksheet
Dim r As Range
Dim cell As Range ' cell within worksheet range
Dim bFound As Boolean ' boolean flag
Dim s As String
Set ws = ThisWorkbook.Worksheets(1)
Set r = ws.Range("B1:I1")
For Each cell In r
bFound = False: s = "1"
[a1] = "1"
Next
End Sub
Malheureusement ça ne fonctionne pas. Le code inscrit 1 même si ce chiffre est présent dans le range. J'ai essayé de mettre un "if...Then" mais sans succès.
J'ai donc besoin d'un petit coup de main. Merci infiniment.
Allo
Je veux faire une application qui inscrit les candidats dans les cellules vides d'un sudoku.
Re,
Pas bien compris, mais voici le code
Sub TestCandidats()
Dim ws As Worksheet
Dim Cell As Range
Dim Inc As Integer
' Définir les objets et variables
Set ws = ThisWorkbook.Worksheets("Toto")
Inc = 0
' Parcourir les cellules
For Each Cell In ws.Range("B1:I1")
If Cell.Value <> "" Then Inc = Inc + 1
Next
' Vérifier si le total des 8 colonnes est OK
If Inc = 8 Then ws.Range("A1").Value = 1
' Effacer les variables objet
Set ws = Nothing
End SubÇa ne fonctionne pas. Je vais essayer d'être plus clair.
Chacune des cellules du range (B1:I1) contient un chiffre unique ou est vide.
Le code doit inscrire 1 dans la cellule A1 si ce chiffre n'est présent dans aucune cellule du range.
Le code n'inscrit rien si le chiffre 1 est présent dans une cellule du range.
Merci de m'aider.
Re,
Désolé, je ne l'avais pas lu comme ça
Voici le code
Sub TestCandidats()
Dim ws As Worksheet
Dim Cell As Range
Dim bFound As Boolean
' Définir les objets et variables
Set ws = ThisWorkbook.Worksheets("Toto")
' Initialiser le FLAG
bFound = False
' Parcourir les cellules
For Each Cell In ws.Range("B1:I1")
If Cell.Value = 1 Then bFound = True: Exit For
Next
' Vérifier si le 1 0 2T2 TROUV2
If bFound = False Then ws.Range("A1").Value = 1
' Effacer les variables objet
Set ws = Nothing
End SubA+
Bonjour,
Ce chiffre, quel chiffre ?Le code doit inscrire 1 dans la cellule A1 si ce chiffre n'est présent dans aucune cellule du range.
Si c'est celui en B1, il y est par la force des choses.
Si c'est le 1 de A1 vraiment pas besoin de macro non plus, quelle que soit la raison, comme dit Bruno.
Ou alors c'est un devoir
eric
Ça ne fonctionne toujours pas. Récapitulons.
Chacune des cellules du range (B1:I1) contient un chiffre ou est vide.
Le code doit inscrire 1 dans la cellule A1 si 1 n'est présent dans aucune cellule du range.
Le code n'inscrit rien si le chiffre 1 est présent dans une ou plusieurs cellules du range.
J'ai essayé avec la méthode "For each" sans succès
J'ai essayé avec la méthode "Find" sans succès.
merci de m'aider.
Re,
Ça ne fonctionne toujours pas. Récapitulons.
Chacune des cellules du range (B1:I1) contient un chiffre ou est vide.
Le code doit inscrire 1 dans la cellule A1 si 1 n'est présent dans aucune cellule du range.
Le code n'inscrit rien si le chiffre 1 est présent dans une ou plusieurs cellules du range.
J'ai essayé avec la méthode "For each" sans succès
Je suppose que tu veux plaisanter
Une petite vidéo vaut mieux que mille mots, regarde si cela ne marche pas
uH5sImcKgWc
PS : Tu aurais mis un fichier au départ, cela aurait été plus simple... non
Ça marche. Mais il fallait préalablement renommer la feuille "Toto" avant d'exécuter le code.
J'imagine cependant qu'on peut le faire avec la méthode Find.
Merci infiniment de Montréal. Si tu as un eBook sur VBA Excel, j'aimerais avoir.
Re,
Ça marche. Mais il fallait préalablement renommer la feuille "Toto" avant d'exécuter le code.
Arfff
J'imagine cependant qu'on peut le faire avec la méthode Find.
Oui, mais pour moi, c'est bien plus long
Merci infiniment de Montréal. Si tu as un eBook sur VBA Excel, j'aimerais avoir.
De rien "cousin", mais effectivement tu as un grand petit besoin
Pourquoi ne pas commencer par la formation sur ce site
https://www.excel-pratique.com/fr/formation
@+