Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

For each to cell in range

11 réponses
Avatar
Christian
Bonjour à tous et toutes
J'utilise ce bout de code en début de procédure
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
pour vérifier si doublon il y a dans la BD.
Cela fonctionne très bien dès qu'il y a au moins 1 référence dans la BD.
Lors d'une nouvelle BD, j'obtiens le message d'erreur suivant:
Erreur d'exécution '1004':
La méthode 'Range' de l'objet '_Global' a échoué.
Normal, il n'y a encore aucune référence dans la BD.
Que devrais-je ajouter ou modifier pour obtenir le résultat escompté,
à savoir l'exécution complète de la macro.
--
En vous remerciant d'avance pour vos conseils.
Cordialement
Christian

10 réponses

1 2
Avatar
Sitting Hoax
Bonjour,
On Error Resume Next
Amicalement
Siesting Haox
"Christian" a écrit dans le message de
news:
Bonjour à tous et toutes
J'utilise ce bout de code en début de procédure
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
pour vérifier si doublon il y a dans la BD.
Cela fonctionne très bien dès qu'il y a au moins 1 référence dans la BD.
Lors d'une nouvelle BD, j'obtiens le message d'erreur suivant:
Erreur d'exécution '1004':
La méthode 'Range' de l'objet '_Global' a échoué.
Normal, il n'y a encore aucune référence dans la BD.
Que devrais-je ajouter ou modifier pour obtenir le résultat escompté,
à savoir l'exécution complète de la macro.
--
En vous remerciant d'avance pour vos conseils.
Cordialement
Christian


Avatar
JLuc
*Bonjour Christian*,
If Range("sp_B6").Count > 0 Then
For Each...
...
Next
End If

Bonjour à tous et toutes
J'utilise ce bout de code en début de procédure
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
pour vérifier si doublon il y a dans la BD.
Cela fonctionne très bien dès qu'il y a au moins 1 référence dans la BD.
Lors d'une nouvelle BD, j'obtiens le message d'erreur suivant:
Erreur d'exécution '1004':
La méthode 'Range' de l'objet '_Global' a échoué.
Normal, il n'y a encore aucune référence dans la BD.
Que devrais-je ajouter ou modifier pour obtenir le résultat escompté,
à savoir l'exécution complète de la macro.


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Christian
Bonjour JLuc
En ayant ceci comme début de procédure,
If Range("sp_B6").Count > 0 Then
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
J'obtiens le message d'erreur suivant
"La méthode 'Range' de l'objet '_Global' a échoué"
--
Merci
Christian



*Bonjour Christian*,
If Range("sp_B6").Count > 0 Then
For Each...
...
Next
End If


Avatar
Christian
Bonjour Sitting Hoax
Merci de m'avoir lu et répondu si vite.
Une petite question, ou dois-je placer ce bout de code.
J'ai essayé différents placement, mais je reçois toujours un message d'erreur.
--
Merci
Christian



Bonjour,
On Error Resume Next
Amicalement
Siesting Haox
"Christian" a écrit dans le message de
news:
Bonjour à tous et toutes
J'utilise ce bout de code en début de procédure
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
pour vérifier si doublon il y a dans la BD.
Cela fonctionne très bien dès qu'il y a au moins 1 référence dans la BD.
Lors d'une nouvelle BD, j'obtiens le message d'erreur suivant:
Erreur d'exécution '1004':
La méthode 'Range' de l'objet '_Global' a échoué.
Normal, il n'y a encore aucune référence dans la BD.
Que devrais-je ajouter ou modifier pour obtenir le résultat escompté,
à savoir l'exécution complète de la macro.
--
En vous remerciant d'avance pour vos conseils.
Cordialement
Christian







Avatar
JLuc
*Bonjour Christian*,
Il est vrai que mon test ne sert à rien !
Si tu as créé le nom "sp_B6", tu aura au moins une cellule, donc tu
entre dans la boucle :/

Bonjour JLuc
En ayant ceci comme début de procédure,
If Range("sp_B6").Count > 0 Then
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
J'obtiens le message d'erreur suivant
"La méthode 'Range' de l'objet '_Global' a échoué"


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
JLuc
*Bonjour Christian*,
Essaie comme çà :

Sub test2()
Dim Flag As Boolean
Flag = False
For Each nom In ActiveWorkbook.Names
If nom.Name = "sp_B6" Then Flag = True
Next
If Flag Then
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
End If
End Sub



Bonjour JLuc
En ayant ceci comme début de procédure,
If Range("sp_B6").Count > 0 Then
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
J'obtiens le message d'erreur suivant
"La méthode 'Range' de l'objet '_Global' a échoué"


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Sitting Hoax
Rebonjour,
avant la procédure

On Error Resume Next
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next

cordialement
Siesting Hoax
"Christian" a écrit dans le message de
news:
Bonjour Sitting Hoax
Merci de m'avoir lu et répondu si vite.
Une petite question, ou dois-je placer ce bout de code.
J'ai essayé différents placement, mais je reçois toujours un message
d'erreur.
--
Merci
Christian



Bonjour,
On Error Resume Next
Amicalement
Siesting Haox
"Christian" a écrit dans le message
de
news:
Bonjour à tous et toutes
J'utilise ce bout de code en début de procédure
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
pour vérifier si doublon il y a dans la BD.
Cela fonctionne très bien dès qu'il y a au moins 1 référence dans la
BD.
Lors d'une nouvelle BD, j'obtiens le message d'erreur suivant:
Erreur d'exécution '1004':
La méthode 'Range' de l'objet '_Global' a échoué.
Normal, il n'y a encore aucune référence dans la BD.
Que devrais-je ajouter ou modifier pour obtenir le résultat escompté,
à savoir l'exécution complète de la macro.
--
En vous remerciant d'avance pour vos conseils.
Cordialement
Christian









Avatar
MichDenis
Ta macro doit être dans un module feuille autre que la feuille
où l'action se déroule... c'est ce qui génère ton erreur....

Place ta macro dans un module standard et cela devrait rouler !
Avatar
MichDenis
Et si tu veux maintenir l'endroit où est situé le code, emploie ceci comme syntaxe

With Worksheets("NomDeLaFeuille")
For Each cell In .Range("Sp_B6")
If cell.Value = .[nr] Then Exit Sub
Next
End With



"Christian" a écrit dans le message de news:

Bonjour à tous et toutes
J'utilise ce bout de code en début de procédure
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
pour vérifier si doublon il y a dans la BD.
Cela fonctionne très bien dès qu'il y a au moins 1 référence dans la BD.
Lors d'une nouvelle BD, j'obtiens le message d'erreur suivant:
Erreur d'exécution '1004':
La méthode 'Range' de l'objet '_Global' a échoué.
Normal, il n'y a encore aucune référence dans la BD.
Que devrais-je ajouter ou modifier pour obtenir le résultat escompté,
à savoir l'exécution complète de la macro.
--
En vous remerciant d'avance pour vos conseils.
Cordialement
Christian
Avatar
Christian
Bonjour JLuc
Merci pour ta solution.
Cordialement
Christian



*Bonjour Christian*,
Essaie comme çà :

Sub test2()
Dim Flag As Boolean
Flag = False
For Each nom In ActiveWorkbook.Names
If nom.Name = "sp_B6" Then Flag = True
Next
If Flag Then
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
End If
End Sub



Bonjour JLuc
En ayant ceci comme début de procédure,
If Range("sp_B6").Count > 0 Then
For Each cell In Range("sp_B6")
If cell.Value = [nr] Then Exit Sub
Next
J'obtiens le message d'erreur suivant
"La méthode 'Range' de l'objet '_Global' a échoué"


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O






1 2