Inserer une liste variable dans une nouvelle feuille

Résolu/Fermé
Phivas Messages postés 4 Date d'inscription samedi 17 juin 2017 Statut Membre Dernière intervention 28 juin 2017 - 17 juin 2017 à 18:07
 Phivas - 29 juin 2017 à 23:23
Bonjour, pouvez-vous m'aider s-v-pl.

Pour configurer un produit j'ai listé dans une feuille appelée "specification prix" toutes les options que je sélectionne individuellement en indiquant 1 dans la cellule correspondante.

Ensuite j'insère la liste ainsi sélectionnée dans une feuille 2 appelée "offre".

Mon problème 1) est que puisque le nombre de ligne insérées dans la feuille 2 est variable il faudrait que l'espace d'insertion soit aussi variable pour ne pas effacer ce qu'il y a avant et après... et je ne sais pas comment faire.

Mon problème 2) dans la feuille "spécification prix" il y a plusieurs Colonnes (A,B,C,D,E,D,F) et j'aurais besoin de pouvoir sélectionner seulement certaines (par ex: A, B).
Un grand merci d'avance.
A voir également:

11 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
17 juin 2017 à 22:10
Bonjour,

Bienvenue sur le forum

Ce que tu ne précise pas c'est ta méthode : tu fonctionnes en VBA ou par formule ?
0
Phivas Messages postés 4 Date d'inscription samedi 17 juin 2017 Statut Membre Dernière intervention 28 juin 2017
18 juin 2017 à 10:09
Bonjour gbinforme,

Tout d'abord un grand merci de considérer ma demande.

Vraiment désolé pour le manque de précision, honnêtement je m'y connais pas du tout en programmation VBA donc je ne me suis même pas posé la question. J'ai créé un fichier dans lequel j'utilise un code en VBA que j'ai trouvé sur le net et qui permet de copier (pas insérer) ma sélection dans la feuil2.

Y a t'il moyen de charger mon fichier, c'est peut-être plus parlant?

Merci.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
18 juin 2017 à 18:28
Bonsoir,

Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ (mode d'emploi) et tu mets ici le lien obtenu.
Cela nous permettra d'adapter ta procédure à ton classeur et à tes souhaits de résultats.
0
Phivas Messages postés 4 Date d'inscription samedi 17 juin 2017 Statut Membre Dernière intervention 28 juin 2017
19 juin 2017 à 09:39
Bonjour gbinforme,

Merci pour l'information, j'ai téléchargé le fichier, voici le lien:

http://www.cjoint.com/c/GFthLoDPlWp

Merci d'avance
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
19 juin 2017 à 11:52
Bonjour Phivas,

1) Dans quelle plage de 'Offre' veux-tu mettre tes sélections ?

2) les colonnes ( A, B) ? vont dans quelles colonnes de 'Offre' ?
0
Bonjour gbinforme,

1) Mes sélections sont à insérer dans "Offre" à partir de la rangée 22 (juste en dessous des titres: Pos, Nr, Description, Qtité)

2) "Spécification prix" colonne A va dans "Offre", colonne B (Nr)
"Spécification prix" colonne B va dans "Offre", colonne C (Description)
"Spécification prix" colonne E va dans "Offre", colonne E (Qtité)

Encore une petite question si vous permettez,
Comment est-ce que je peux insérer le nom du fichier (qui correspond au numéro d'offre) dans une cellule (hors entête et pied de page)? j'ai beau chercher mais je vois pas .

Encore un grand merci pour votre aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
19 juin 2017 à 22:31
Bonjour,

Je n'ai pas trop compris tes colonnes E et F car ta formule ne pouvait pas fonctionner : tu me préciseras.
Regardes dans l'offre si cela te conviens.

http://www.cjoint.com/c/GFtuE6PVYml
0
Bonjour gbinforme,

Super! ca marche! c'est vraiment génial, merci beaucoup pour votre aide.

P.S.: j'avais inversé E et F, désolé!

Une dernière question, je souhaite protéger des zones de la feuille mais cela empêche le rafraîchissement des informations, y a t'il un moyen de la protéger?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
20 juin 2017 à 08:42
Bonjour Phivas,

Voici ton classeur avec ta feuille protégée sans mot de passe
Il faut déverrouiller les lignes modifiables (celles du tableau actuellement),
puis cocher les options nécessaires dans la protection.
Bien entendu le tableau est modifiable : si tu ne veux pas il faut procéder autrement.

http://www.cjoint.com/c/GFugK11ZmCl
0
Bonjour gbinforme,

Merci beaucoup, je comprend mieux comment fonctionne les cases à cocher dans le menu protection feuilles.

Grâce à vous mon fichier est devenu vraiment fonctionnel présentable.

Si je peux me permettre,

J'ai encore 2 soucis, l'onglet devise ne se rafraîchi pas correctement, je dois actualiser manuellement et je ne suis pas sur de la source.

L'onglet "offre" qui est l'offre de référence est en Euros si je crée un nouvel onglet appelé "offre USD" comment puis-je faire pour avoir la même présentation mais les valeurs converties en USD?

Un grand merci et une bonne journée.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
20 juin 2017 à 18:50
Bonjour Phivas,

Regardes si c'est ce que tu voulais

- je t'ai rajouté ta feuille avec ce que j'ai compris

- j'ai coché l'actualisation en arrière plan

https://www.cjoint.com/c/GFuqYt46MBl
0
Bonsoir gbinforme,

Un grand merci, c'est exactement ce que ce que voulais par contre je n'arrive pas à transposer les dernières adaptations VBA à mon fichier de référence, il y a quelque chose qui coince avec les devises USD.

Je me permet de vous envoyer le lien du fichier de référence, je ne comprend pas pourquoi cela ne fonctionne pas.

http://www.cjoint.com/c/GFuuspsuTPp

Merci d'avance pour votre support
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
21 juin 2017 à 08:48
Bonjour Phivas,

Tu as deux petits soucis sur cette ligne
    tau = Sheets("Convertion rate").Range("usd").Value / 1000000

- ta feuille s'appelle "Conversion rate"

- il faut nommer "usd" la cellule C4 ou remplacer par
    tau = Sheets("Conversion rate").Range("C4").Value / 1000000


D'autre part, je crois qu'il te faudrait changer ta colonne sur cette ligne (F par E)
            If IsNumeric(tbd(lgo, 5)) And tbd(lgo, 5) <> "" Then Cells(lgc, "E") = tbd(lgo, 5) * tau


Bonne journée
0
Bonjour gbinforme,

Merci beaucoup pour vos commentaires.

Erreur de frappe pour "conversion"! sorry.
Je ne savais pas que une cellule pouvait être renommée.

Bonne journée et encore un grand merci.
0
Re-bonjour gbinforme,

Je viens de tester, ca marche c'est génial. Je ne sais pas programmer en VBA mais grâce à vous j'ai déjà appris plein de choses, un grand merci pour cela.

Est-ce que je peux vous poser encore quelques questions d'amélioration de mon fichier?

A) ajouter les 10 numéros de gauche du nom de fichier dont la longueur est variable dans la cellule E3,E4. soit: 1720061045.

Example nom de fichier: 1720061045_V01_TestFichierCalculDePrix.xml

J'utilise la formule suivante mais je ne sais pas comment extraire les 10 numéros, j'ai essayé mais j'arrive pas:

=STXT(CELLULE("filename");TROUVE("[";CELLULE("filename"))+1;SOMME(TROUVE({"[";"]"};CELLULE("filename"))*{-1;1})-6)

B) J'aimerai ajouter un onglet "Fast Preselection" qui permet de sélectionner parmi plusieurs pré-configuration type et mettrait les "1" au bon endroit dans les cellules "Qtity" de l'onglet "Distributor Price specification".

C) pouvez-vous me dire pourquoi dans certains onglets l'entête est visible et d'autre pas, j'ai pas trouvé parmi les réglages comment afficher l' entête.

D'avance merci et bonne journée.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
22 juin 2017 à 08:48
Bonjour Phivas,

Même si tu ne sais pas programmer tu as efficacement intégré mon code, alors nous allons continuer.
A) je te propose de nommer ta formule puis de l'utiliser pour récupérer tes chiffres
menu formules / gestionnaire de noms
Je t'ai nommé ta formule 'nomfic' puis je l'ai utilisée dans l'onglet USD pour l'exemple.

B) je te propose de saisir pour chaque présélection les numéros concernés, puis par un double clic sur la ligne concernée de les affecter comme tu le fais manuellement.

C) je n'ai pas compris

https://www.cjoint.com/c/GFwgKHBKd2l

Tu me dis si cela peut correspondre à tes souhaits.
0
Phivas > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
22 juin 2017 à 12:14
Bonjour gbinforme,

Encore merci pour votre support... j'espère que je ne demande pas trop... au départ il s'agissait d'une question... et maintenant mon fichier à évolué d'une façon que je ne pouvais pas m'imaginer.

A) la formule "nomfic" extrait le nom de fichier sans extension et ensuite la formule dans la cellule ne prend que la partie du nom qui est à gauche du signe "_"

B) C'est pratiquement parfait et c'est déjà génial ainsi!
Je n'ai pas pensé à vous dire (mes excuses) que les préselections peuvent être combinées et afin d'avoir une vue de ce qui à été sélectionné, je pensai à une colonne supplémentaire en "E" ou je peux "activer" avec "0" ou "1". Dans le cas ou tout est à "0" alors ce sont uniquement les sélections "distributors price specification" qui sont prises en compte sinon cela peut-être une combinaison des deux (Distributors price list et Fast préselection). J'espère que mon explication est claire.

C) je m'y prend mal pour copier un onglet, après copie je constate que le format des cellules est différents, l'entête manque et la mise en page est différente.

D) je constate 2 anomalies que je n''arrive pas à résoudre
D-a) "customer offer" position 1 (ligne 19) il y a la ligne de titres qui apparaît
D-b) "customer offer USD" si la sélection est supérieur à 1 elle est ignorée, j'ai ajouté
">" ici: If .Range("D" & lgo) >= 1 Then, ca marche pour "customer offer" mais
pas pour "customer offer USD"

Encore un grand merci et une bonne journée.

Mon fichier: http://www.cjoint.com/c/GFwklU0LSBp
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
22 juin 2017 à 22:18
Bonjour Phivas,

A) tout à fait !

B) je comprend que c'est plus complexe mais je ne vois pas le fonctionnement que tu souhaites : 'Fast préselection' est utilisé pour les sélections "customer offer" et "customer offer USD" ?

C) Ce ne doit être qu'un souci d'affichage : onglet affichage et choisir 'mise en page'
Pour copier un onglet :
clic droit sur l'onglet puis déplacer ou copier / cocher copier
et changer le nom du nouveau.

D) cela devrait être corrigé

https://www.cjoint.com/c/GFwuoUJ2eSl

Bonne soirée
0
Phivas > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
23 juin 2017 à 14:19
Bonjour gbinforme,

Merci beaucoup et désolé si je ne n'étais pas clair dans mes explications.

B) en fait l'idée est la suivante: le vendeur connais parfaitement les produits de sont client (colonne "présélection"), mais il ne sait pas forcément quelles options choisir pour configurer correctement la machine (onglet "distributor price specification) donc l'idée de l'onglet "Fast selection" est de facilité la procédure et d'éviter des erreurs.

- onglet "Fast sélection" => le vendeur à uniquement accès à la colonne (E "SELEC 0/1")
- onglet (C "Numbers") seul moi j'ai peut éditer les valeurs mais elle sont visibles a tous
- plusieurs sélections (E, "SELEC 0/1) peuvent êtres combinées
- si un numéro apparaît plusieurs fois il faut considérer seulement 1x
- Les choix fait dans "fast sélection" agissent sur "Qtity" / "Distributor price list" (ainsi à l'avenir je pourrais ajouter d'autres onglet "customer offer" avec d'autres devises.

C) copie, c'est ainsi que je fait mais qq chose doit m'échapper, je vais tester.
C1) pour que fichier tourne avec des versions de Excel utilisant d'autre langues il faut que Excel (VBA) utilise les instructions en Anglais je pense mais y a t'il autre chose auquel je dois également tenir compte?

D) j'ai testé, cela fonctionne en partie.

Dans "customer offer"
Si je met toutes les valeurs (Qtity) à 0 il y a #REF! dans E20, puis si je change les valeurs dans (Qtity) => le calcul ne se fait pas et il y a un message d'erreur VBA => erreur d'execution '1004': erreur définie par l'application ou par l'objet

Dans "customer offer USD"
idem
et le total (SUM) ne se fait pas correctement, plusieurs cellules sont omises dans le calcul de la somme

Merci et bonne journée
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684 > Phivas
23 juin 2017 à 18:46
Bonjour Phivas,

- onglet (C "Numbers")
Pas vu ?

- si un numéro apparaît plusieurs fois il faut considérer seulement 1x
Quel numéro ? ceux que j'ai introduits ?

- Les choix fait dans "fast sélection" agissent sur..."Distributor price list"
Pas trouvé celui-là !
Ce n'est pas étonnant que je ne comprenne pas puisque tu travailles sur des objets que tu ne m'as pas communiqués ! ;-)

C1) pour que fichier tourne avec des versions de Excel utilisant d'autre langues
Excel utilise les paramètres de la machine et met les formules dans la langue de la machine. Par contre les données du classeurs ne sont pas traduites.

D) Si je met toutes les valeurs (Qtity) à 0 il y a #REF! dans E20
Celle-là elle est vicieuse mais c'est ce qui arrive lorsque tu supprimes toutes les lignes d'un tableau : c'est corrigé.

https://www.cjoint.com/c/GFxqOhhzhkl

Bonne soirée
0
J'avais oublié le fichier example!

http://www.cjoint.com/c/GFvjMR0ujHp
0