Probleme code VBA
Résolu/Fermé
A voir également:
- Probleme code VBA
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
27 janv. 2017 à 11:45
27 janv. 2017 à 11:45
Bonjour,
Regarde ces deux lignes de ton code que j'ai volontairement rapprochées :
Regarde ces deux lignes de ton code que j'ai volontairement rapprochées :
cde = Worksheets("Feuil2").Range("C" & Lig) If Worksheets("Feuil1").Range("B" & i).Value = char Then
Merci pur ta réponse pijaku,
mais je ne saisi pas, j'ai esayé de remplacer le "i" par "lig" mais ca ne fonctionne toujours pas, il me ressort une erreur du coup...
Un petit peu plus d'indication peut etre?
mais je ne saisi pas, j'ai esayé de remplacer le "i" par "lig" mais ca ne fonctionne toujours pas, il me ressort une erreur du coup...
Un petit peu plus d'indication peut etre?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
27 janv. 2017 à 12:28
27 janv. 2017 à 12:28
i et Lig étaient bon.
Par contre, que penser de cde et char ?
Par contre, que penser de cde et char ?
Alex2109
>
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
27 janv. 2017 à 14:31
27 janv. 2017 à 14:31
Je ne les ai pas défini correctement peut être?
Je ne suis pas tres bon en programmation mais j'aimerai vraiment comprendre d'ou vient le probleme?
Je ne suis pas tres bon en programmation mais j'aimerai vraiment comprendre d'ou vient le probleme?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
>
Alex2109
27 janv. 2017 à 14:45
27 janv. 2017 à 14:45
Si tu veux comparer l'égalité entre : Worksheets("Feuil2").Range("C" & Lig) et Worksheets("Feuil1").Range("B" & i).Value soit tu utilises l'expression entière :
soit tu utilises une variable ET UNE SEULE !
Voici ton code légèrement modifié :
If Worksheets("Feuil1").Range("B" & i).Value = Worksheets("Feuil2").Range("C" & Lig).Value
soit tu utilises une variable ET UNE SEULE !
If Worksheets("Feuil1").Range("B" & i).Value = cde Then
Voici ton code légèrement modifié :
Sub saisie2() Dim Lig As Long Dim NbrLig As Long, NumLig As Long Dim cde As String Dim i As Integer NbrLig = Worksheets("Feuil2").Range("C" & 65536).End(xlUp).Row NumLig = Worksheets("Feuil1").Range("B" & 65536).End(xlUp).Row With Worksheets("Feuil2") For Lig = 1 To NbrLig cde = .Range("C" & Lig) If cde <> "" Then For i = 1 To NumLig If Worksheets("Feuil1").Range("B" & i).Value = cde Then Worksheets("Feuil1").Range("G" & i).Copy .Range("L" & Lig) Exit For End If Next i End If Next Lig End With End Sub
Alex2109
>
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
27 janv. 2017 à 15:19
27 janv. 2017 à 15:19
Ca ne fonctionne pas non plus. Peut etre est ce du au fait que les deux feuilles n'aient pas le meme nombre de ligne et que les client ligne par ligne d'une feuille a l'autre ne soit pas pareil?
C'est bizarre, car en lisant ton code j'ai tres bien compris ce qu'il faisait...
C'est bizarre, car en lisant ton code j'ai tres bien compris ce qu'il faisait...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
>
Alex2109
27 janv. 2017 à 15:23
27 janv. 2017 à 15:23
Peut etre est ce du au fait que les deux feuilles n'aient pas le meme nombre de ligne et que les client ligne par ligne d'une feuille a l'autre ne soit pas pareil?
Non rien à voir.
Je dirais plutôt un souci avec les données.
Si tu ajoutes un Stop, est ce que ta macro s'arrête :
Si la macro ne s'arrête jamais, cela signifie simplement qu'aucune des données de ta colonne C Feuil2 ne se retrouve en colonne B Feuil1...
Non rien à voir.
Je dirais plutôt un souci avec les données.
Si tu ajoutes un Stop, est ce que ta macro s'arrête :
Sub saisie2() Dim Lig As Long Dim NbrLig As Long, NumLig As Long Dim cde As String Dim i As Integer NbrLig = Worksheets("Feuil2").Range("C" & 65536).End(xlUp).Row NumLig = Worksheets("Feuil1").Range("B" & 65536).End(xlUp).Row With Worksheets("Feuil2") For Lig = 1 To NbrLig cde = .Range("C" & Lig) If cde <> "" Then For i = 1 To NumLig If Worksheets("Feuil1").Range("B" & i).Value = cde Then Stop Worksheets("Feuil1").Range("G" & i).Copy .Range("L" & Lig) Exit For End If Next i End If Next Lig End With End Sub
Si la macro ne s'arrête jamais, cela signifie simplement qu'aucune des données de ta colonne C Feuil2 ne se retrouve en colonne B Feuil1...