VBA - Reconnaissance de la valeur d'une cellule

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

NeMoS

XLDnaute Junior
Bonjour à tous,

J'ai un petit soucis et j'avoue ne pas comprendre.

Voici un bout de code que j'ai écrit:

Code:
For j = 3 To fintableau
                If Sheets("SEARCH ENGINE").Range("G" & i).Value = True Then
                    If Sheets("PRODUCT KNOWLEDGE").Cells(j, col).FormulaR1C1 = "1" Then
                    vale = Cells(j, col).Value
                    MsgBox vale
                        If Sheets("SEARCH RESULTS").Range("a" & k).Value = "" Then
                            Sheets("PRODUCT KNOWLEDGE").Rows(j).Copy
                            Sheets("SEARCH RESULTS").Range("a" & k).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False
                        Else: k = k + 1
                        End If
                    End If
                End If
Next


Toutes les variables sont déclarées et initialisées (y compris le i qui vient d'une boucle au niveau supérieur et col est une variable récupérée également à un niveau supérieur et qui correspond au numéro d'une colonne ).

Les msgbox me servent à contrôler mon code pour voir si cela fonctionne et j'ai un problème avec la valeur vale.
En effet, vale est toujours "empty" donc même si j'ai bien un 1 inscrit dans la cellule le code ne voit rien.
J'ai essayé avec et sans " ", j'ai essayé avec formula R1C1 et Value, rien n'y fait, il ne voit pas le 1.

En exemple, quand je fais tourner ma macro, col=73.
La valeur de cells(3,73) est bien 1 dans le tableau mais le code voit vide quand il la scanne....

J'avoue ne pas comprendre d'où vient le problème...

Alors si vous avez des idées vous êtes plus que bienvenue !!!

Par avance merci

Gwen
 
Re : VBA - Reconnaissance de la valeur d'une cellule

Bonjour NeMos,

Ca parait normal qu'Excel te renvoie une valeur vide car tu recherches une formule et la cellule contient un chiffre.

Essaie donc en remplaçant :

Code:
If Sheets("PRODUCT KNOWLEDGE").Cells(j, col).FormulaR1C1 = "1" Then
                    vale = Cells(j, col).Value
par

Code:
If Sheets("PRODUCT KNOWLEDGE").Cells(j, col).Value = "1" Then
                    vale = Cells(j, col).Value

Reste à savoir également si le deuxième Cells(j, col).Value fait bien référence à la feuille "PRODUCT KNOWLEDGE". Sinon, il faudrait rajouter le nom de la feuille concernée.

Espérant avoir résolu.

Cordialement.
 
Re : VBA - Reconnaissance de la valeur d'une cellule

Bonjour,

Merci pour la réponse.
On reste bien sur la même feuille et j'ai déjà essayé avec .value (j'avais tenté .FormulaR1C1 en désespoir de cause !!)

Je vais retenté quelques trucs et voir ce que cela donne, mais peut être que je n'utilise pas correctement cells (j,col)....

Encore merci
Gwen
 
Re : VBA - Reconnaissance de la valeur d'une cellule

Re-bonjour,

Bon, ce que je ne comprends pas c'est que si je regarde la valeur de cells(3,73) il me renvoie bien la valeur 1, mais si je regarde la valeur de cells(i,col) où i=3 et col=73 alors il renvoie "vide"....

Comprends pas...

Gwen
 
Re : VBA - Reconnaissance de la valeur d'une cellule

Bonjour

il faudrait joindre un bout de fichier

pas d'inversion colonne ligne ?
as-tu essayé en pas à pas F8 et en regardant réellement les valeurs des variables et les cellules pointées ?
 
Re : VBA - Reconnaissance de la valeur d'une cellule

Je vais retenté quelques trucs et voir ce que cela donne, mais peut être que je n'utilise pas correctement cells (j,col)....

Bonjour Gwen,

Je ne vois pas de problème au niveau de la syntaxe cells (j,col).

Peut-être est-ce dû au type de données contenu dans la cellule ?

Essaie le code suivant (donnée numérique) :

Code:
If Sheets("PRODUCT KNOWLEDGE").Cells(j, col).Value = 1 Then
                    vale = Cells(j, col).Value
Sinon, si tu peux joindre ton fichier édulcoré de ses données confidentielles bien sûr.

Cordialement.

Edit : bonjour ERIC S
 
- 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
XL 2021 VBA excel
Réponses
4
Affichages
45
Réponses
3
Affichages
569
Réponses
4
Affichages
332
Retour