RechercheV

pibor

XLDnaute Nouveau
Bonsoir le forum,
Dans un classeur (avec VBA) pour une gestion de Commandes, Bordereau de chargement, Bordereau de livraison, Facture, j’ai une dizaine de feuilles. Une feuille Commandes (~50 lignes de commandes), et une feuille Articles (~600 articles).
J’utilise pour renseigner une colonne « Stock » sur la feuille Article la formule RechercheV suivante :

=SI(Axxx="";"";SI(ESTERREUR(RECHERCHEV($C422;Commandes!$BI$2:$BJ$20;2;FAUX));"";RECHERCHEV($C422;Commandes!$BI$2:$BJ$20;2;FAUX)))
Cette formule fait appel à la feuille Commandes, colonnes « $BI$2 :$BJ$20 ». Sur cette feuille je delete les lignes ou le « Reste à livrer » est nul.
Mon problème (et ma surprise) est que si je supprime 8 lignes,
$BI$2:$BJ$20 devient $BI$2:$BJ$12. Ensuite j’enlève 7 lignes et j’obtiens dans la formule RechecheV : $BI$2:$BJ$5. Je n’arrive pas à reconstituer la formule initiale ! Peut être une solution serait d’écrire : $BI$2:$BJ$4000, et périodiquement remettre la formule à jour ? C’est lourd et bizarre !
Si un pro d’Excel a une idée je prends avec grand plaisir.
Avec mes remerciements :confused:
 

ODVJ

XLDnaute Impliqué
Re : RechercheV

Bonsoir,

il est normal que ta zone se réduise au fil des suppressions de lignes.

tu pourrais peut-être passer par un nom "dynamique" pour ta zone commande :
mazone serait défini par =DECALER(commandes!$BI$2;;;NBVAL(commandes!$BI:$BI)-1;2)
ainsi ta zone serait redéfinie automatiquement à la bonne dimension au fil des suppressions et des ajouts.
il faut cependant que la colonne BI qui est utilisée pour compter le nombre de lignes ne contienne pas de cellules vides.

cordialement
 

pibor

XLDnaute Nouveau
Re : RechercheV

Bonjour ODVJ, le forum,
Merci de ta réponse, je vais essayer ta solution. La colonne BI a des informations en nombre variable qui sont toutes rassemblées en début de colonne. Mais au lieu de "" je peut placer des 0 pour faire en sorte que les cellules ne soient pas vides.Les colonnes de cette feuilles comptent 100 lignes, certaines avec formules.
=DECALER(commandes!$BI$2;;;NBVAL(commandes!$BI:$BI )-1;2)
 

Discussions similaires

Réponses
3
Affichages
230

Statistiques des forums

Discussions
312 493
Messages
2 088 958
Membres
103 990
dernier inscrit
lamiadebz