Problème range et vlookup
Résolu
toinou2121
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour tout le monde, j'ai des problème lors de l'utilisation de range et de vlookup, je pense pourtant que les syntaxes utilisés sont bonne ^^
Pour information j'ai un bon niveau en vba et je sais on peut se dire pourquoi avoir des problèmes avec les bases de bases de la programmation
J'utilise 72 range dans mon fichier seulement il y en a 2 qui bug et je n'ai aucune idée pourquoi.
Mon vlookup lui aussi marche une fois sur 2 ...
Je vous montre mes parties de codes avec la ligne et l'erreur affiché si vous pouvez m'aider sa serait un reve ..
1) For m = cole_commandes To cole_fin Step 1
For h = 1 To nb_val_select
If tableau(h) = Cells(lige_Référence, m).Value Then
v = h
Exit For
End If
Next h
If Cells(lige_quantité, m).Value > stkd(v) Then
Cells(lige_besoin_net, m).Value = Cells(lige_quantité, m).Value - stkd(v)
stkd(v) = 0
Else
Cells(lige_besoin_net, m).Value = 0
stkd(v) = stkd(v) - Cells(lige_quantité, m).Value
End If
Next m
End If
If cole_fin > cole_commandes Then
For h = lige_deb To fintabe
For g = cole_commandes To cole_fin
Worksheets(Onglet_etude).Cells(h, g).Value = Application.VLookup(Worksheets(Onglet_etude).Cells(h, 1).Value, _
Range(Worksheets(Onglet_NOMENCLATURE).Cells(2, coln_nom), _
Worksheets(Onglet_NOMENCLATURE).Cells(fintabn + 1, coln_ratio)), 6, False) * Cells(lige_besoin_net, g)
Bug a su la ligne vlookup erreur 2042 provenant un Vlookup lui même, les cellules sont bien trouvés.
If cole_commandes + 1 < cole_fin Then
Worksheets(Onglet_etude).Range(Cells(1, cole_commandes + 1), Cells(fintabe, cole_fin)).Select
Selection.Sort Key1:=Rows(Lige_date), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
End If
erreur sur le range.select, objet ou application non défini
Merci d'avance
Pour information j'ai un bon niveau en vba et je sais on peut se dire pourquoi avoir des problèmes avec les bases de bases de la programmation
J'utilise 72 range dans mon fichier seulement il y en a 2 qui bug et je n'ai aucune idée pourquoi.
Mon vlookup lui aussi marche une fois sur 2 ...
Je vous montre mes parties de codes avec la ligne et l'erreur affiché si vous pouvez m'aider sa serait un reve ..
1) For m = cole_commandes To cole_fin Step 1
For h = 1 To nb_val_select
If tableau(h) = Cells(lige_Référence, m).Value Then
v = h
Exit For
End If
Next h
If Cells(lige_quantité, m).Value > stkd(v) Then
Cells(lige_besoin_net, m).Value = Cells(lige_quantité, m).Value - stkd(v)
stkd(v) = 0
Else
Cells(lige_besoin_net, m).Value = 0
stkd(v) = stkd(v) - Cells(lige_quantité, m).Value
End If
Next m
End If
If cole_fin > cole_commandes Then
For h = lige_deb To fintabe
For g = cole_commandes To cole_fin
Worksheets(Onglet_etude).Cells(h, g).Value = Application.VLookup(Worksheets(Onglet_etude).Cells(h, 1).Value, _
Range(Worksheets(Onglet_NOMENCLATURE).Cells(2, coln_nom), _
Worksheets(Onglet_NOMENCLATURE).Cells(fintabn + 1, coln_ratio)), 6, False) * Cells(lige_besoin_net, g)
Bug a su la ligne vlookup erreur 2042 provenant un Vlookup lui même, les cellules sont bien trouvés.
If cole_commandes + 1 < cole_fin Then
Worksheets(Onglet_etude).Range(Cells(1, cole_commandes + 1), Cells(fintabe, cole_fin)).Select
Selection.Sort Key1:=Rows(Lige_date), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
End If
erreur sur le range.select, objet ou application non défini
Merci d'avance
A voir également:
- Problème range et vlookup
- Vba range avec variable ✓ - Forum VB / VBA
- Out of range écran ✓ - Forum Matériel & Système
- Input signal out of range - Forum Matériel & Système
- Input signal out of range change settings to 1600x900-60hz - Forum Windows
- Input signal out of range. (Problème Difficile) ✓ - Forum Matériel & Système
2 réponses
bonjour,
comme on a pas la déclaration des variables... :-/
Onglet_etude, Onglet_NOMENCLATURE.... Variables ou nom de feuilles ???
comme tu te déclares bon en VBA:
tu dois savoir que s'il s'agit des noms de feuilles, il faut les indiquerentre gyuillemets
Pourquoi utiliser Vlookup alors qu'il existe en VBA la fonction "Find" destinées au recherches et beaucoup plus puissantes ?
en VBA on évite au maximum les Sélect très lents et mangeurs de mémoire, et on évite aussi de marquer les valeurs par défaut facultatives, bref de pomper sans élaguer l'enregistreur de macros...
Un débutant en VBA
comme on a pas la déclaration des variables... :-/
Onglet_etude, Onglet_NOMENCLATURE.... Variables ou nom de feuilles ???
comme tu te déclares bon en VBA:
tu dois savoir que s'il s'agit des noms de feuilles, il faut les indiquerentre gyuillemets
Pourquoi utiliser Vlookup alors qu'il existe en VBA la fonction "Find" destinées au recherches et beaucoup plus puissantes ?
en VBA on évite au maximum les Sélect très lents et mangeurs de mémoire, et on évite aussi de marquer les valeurs par défaut facultatives, bref de pomper sans élaguer l'enregistreur de macros...
Un débutant en VBA
Les onglets sont des variables initialisées pour que tu n'ai qu'a changer une seule valeur pour changer le nom de la feuille et que toutes tes macros marchent toujours ...
(onglet_nomenclature = "NOMENCLATURES")
J'utilise vlookup car c'est la fonction la mieux adapté et me suffit largement dans ce cadre car je n'ai pas besoin de find (pourquoi utiliser une pelleteuse quand on peut utiliser une pelle ??? )
De plus mon très cher j'ai rajouté le select car il y a un bout de code entre les 2 que je ne vous ai pas mis d'ou l'intérêt du select ...
Enfin bref si tu me réponds pour monter sur tes grands chevaux je ne vois pas trop l'intérêt après si tu as qqc à m'apporter je suis preneur ...
Je disais juste que je suis loin d'être débutant et que justement tu pouvais tépargner de donner des solutions bidons comme tu viens le faire pour résoudre un problème beaucoup plus complexe !!
merci de ta réponse très pertinente
bonne soirée
(onglet_nomenclature = "NOMENCLATURES")
J'utilise vlookup car c'est la fonction la mieux adapté et me suffit largement dans ce cadre car je n'ai pas besoin de find (pourquoi utiliser une pelleteuse quand on peut utiliser une pelle ??? )
De plus mon très cher j'ai rajouté le select car il y a un bout de code entre les 2 que je ne vous ai pas mis d'ou l'intérêt du select ...
Enfin bref si tu me réponds pour monter sur tes grands chevaux je ne vois pas trop l'intérêt après si tu as qqc à m'apporter je suis preneur ...
Je disais juste que je suis loin d'être débutant et que justement tu pouvais tépargner de donner des solutions bidons comme tu viens le faire pour résoudre un problème beaucoup plus complexe !!
merci de ta réponse très pertinente
bonne soirée