VBA copie valeurs erronées quand cellules vides

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 !

Kouik Kouik jr

XLDnaute Occasionnel
Bonjour tout le monde,

je suis devant un problème,,

j'ai une application qui recherche les valeurs d'une cellule correspondant a un identifiant dans une autre feuille excel.
Le problème c'est que pour toute identifiant (colonne p) vide, l'application me retourne des données incohérentes

Quelqu'un aurait il une idée ?

Voici mon code:

Merci d'avance🙂


With Sheets("SYZ")
Déb = 3
Fin = .Range("b" & .Rows.Count).End(xlUp).Row
End With
With Sheets("HSBC")
I = 1
Do While I < Fin
For J = Déb To Fin
If .Range("p" & I).Value = Sheets("SYZ").Range("b" & J).Value Then .Range("q" & I).Value = Sheets("SYZ").Range("c" & J).Value
If .Range("p" & I).Value = Sheets("SYZ").Range("b" & J).Value Then .Range("r" & I).Value = Sheets("SYZ").Range("d" & J).Value
If .Range("p" & I).Value = Sheets("SYZ").Range("i" & J).Value Then .Range("s" & I).Value = Sheets("SYZ").Range("j" & J).Value
If .Range("p" & I).Value = Sheets("SYZ").Range("i" & J).Value Then .Range("t" & I).Value = Sheets("SYZ").Range("k" & J).Value



Next J
I = I + 1
Loop
End With
 
Re : VBA copie valeurs erronées quand cellules vides

bonjour Kouik Kouik Jr

A 1ere vue
Code:
With Sheets("SYZ")
Déb = 3
Fin = .Range("b" & .Rows.Count).End(xlUp).Row
End With
With Sheets("HSBC")
I = 1
Do While I < Fin
For J = Déb To Fin
[COLOR=blue]If .Range("p" & I).Value <>"" then
[/COLOR]If .Range("p" & I).Value = Sheets("SYZ").Range("b" & J).Value Then .Range("q" & I).Value = Sheets("SYZ").Range("c" & J).Value
If .Range("p" & I).Value = Sheets("SYZ").Range("b" & J).Value Then .Range("r" & I).Value = Sheets("SYZ").Range("d" & J).Value
If .Range("p" & I).Value = Sheets("SYZ").Range("i" & J).Value Then .Range("s" & I).Value = Sheets("SYZ").Range("j" & J).Value
If .Range("p" & I).Value = Sheets("SYZ").Range("i" & J).Value Then .Range("t" & I).Value = Sheets("SYZ").Range("k" & J).Value
[COLOR=blue]End if[/COLOR]
Next J
I = I + 1
Loop
End With
 
- 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
15
Affichages
830
Réponses
5
Affichages
931
Réponses
4
Affichages
743
Réponses
8
Affichages
402
Réponses
9
Affichages
391
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
908
Réponses
4
Affichages
764
Retour