Déplacer des données d’une feuille à une autre (conditions)

Bonjour tout le monde,

Svp, si vous pouvez m’aider pour résoudre mon problème. Sachez que je suis débutant en VBA.

Mon premier problème, c’est que je veux transférer les données des cellules sélectionnées A, B, C de ma feuille Nom A vers VN-A dans les cellules A, B, C et ainsi de suite. J’ai créé la macro pour que ce faire mais le transfert se fasse juste pour les cellules A3, B3, C3.

Mon deuxième problème c’est que dans la feuille de VN-A, je veux avoir un transfert total de la ligne dès que la cellule J contient le numéro 3344, c.à.d. couper la ligne de la feuille VN-A et la copie dans la feuille BDC et ainsi de suite.

Sachez que je vais créer d’autres feuilles Nom B, VN-B… qui vont suivre le même principe et le transfert final sera effectué dans la même feuille BDC.

Merci énormément pour votre aide,

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Bonjour gmb,

D'abord Un très grand Merci pour ton aide et d’avoir pris le temps pour répondre à ma problématique.

Je voulais juste t’informer que quand je sélectionne les cellules A3, B3 C3 et je clique sur ta macro, le transfert s’effectuera avec les autres cellules. Cependant mon objectif c’est toujours transférer 3 cellules (A3, C3, B3) ou ( A4, C4, B4)…. que je vais sélectionner.

Aussi quand le transfert s’effectuera vers la feuille VN-A je vais compléter la ligne avec d’autres informations et dès qu’on aura le chiffre 3344 dans la cellule J de la feuille VN-A de couper la ligne de la feuille VN-A et la copie dans la feuille BDC et ainsi de suite.

Sachez que je vais créer d’autres feuilles Nom B, VN-B… qui vont suivre le même principe et le transfert final sera effectué dans la même feuille BDC.

Je te remercie énormément pour ta précieuse aide.

8version-2.zip (25.44 Ko)

Nouvel essai.

Bye !

Bonjour gmb,

Encore je te remercie beaucoup pour votre attention portée à mon problème.

Pour le transfert des lignes qui ont le code 3344 dans la colonne J de la feuille VN-A vers la feuille BDC, ça fonctionne à merveille. Est-ce-possible que le transfert s’effectué sans supprimer les lignes de mon tableau.

Aussi je t’informe, que quand je sélectionne les cellules A5, B5, C5 de la feuille (Nom A) et que je clique sur ta macro, le transfert s’effectué avec les autres cellules (de ligne 3 jusqu’à la ligne 7). Cependant mon objectif c’est toujours transférer les 3 cellules qui seront sélectionnées comme (A3, C3, B3) ou (A4, C4, B4)…. que je vais sélectionner.

Un grand merci pour ta précieuse aide,

Bonjour

Nouvelle version.

Bye !

Bonjour gmb,

Stp j’ai 3 petites choses :

1- Est-il possible quand je note le numéro 3344 dans la colonne J de la feuille VN-A de transférer la ligne complète dans la feuille BDC et de ne pas laisser des lignes vides dans ma feuille VN-A car le but c’est de couper la ligne de la feuilles VN-A quand elles contiennent 3344 dans la colonne J.

2- Dans la feuille de Nom A, quand on sélectionne les 3 cellules, est ce qu’il y a la possibilité de ne pas avoir le contour des petits pontiers (de copie).

3- Quand je clique sur transfert est-ce que c’est possible de ne pas transferer la couleur de la feuille Nom A vers la feuille VN-A.

Je te remercie énormément pour ta précieuse aide.

9version-3.zip (23.36 Ko)

Salut a tous,

J'ai un petit probleme avec un Sheets.Range avec un intervalle variabl. En effet j'ai l'impession au'il ne prend pas en compte la variable, si quelqu'un aurait une solution ca serais cool.

Voici le bout de code en question :

Interval = "A" & Start_Interval_Row & ":A" & End_Interval_Row

Set cel_find = ThisWorkbook.Sheets("Change over").Range(Interval).Find(what:=Sheets("Day1").Cells(3, Col_Old_A), LookAt:=xlPart)

Row = cel_find.Row

Merci.

Bonjour le fil, bonjour le forum,

• Impossible de te répondre puisqu'on ne connait pas la valeur des variables :

- Start_Interval_Row

- End_Interval_Row

- Col_Old_A

• Tu ne peux pas utiliser une variable avec un mot clé :

Row = cel_finf.Row

• Pour finir, comme ta recherche n'est pas garantie, utilise une conditionnelle

If Not cel_find Is Nothing Then R = cel_find.Row

[Édition]

Pourquoi n'as tu pas créé un nouveau Fil avec ton problème ?... C'eût été plus logique, non ?

Salut ThauTheme,

les variable contiennesnt des nombres :

  • Start_Interval_Row commence a 1 et est incrementee de 21 a chaque fois
  • End_Interval_Row commence a 20 et est incrementee de 21 a chaque fois
  • Col_Old_A commence a 14 et est incrementee de 5 a chaque fois

Je t'explique un peu plus le programme : j'ai plusieurs matrices 20*20 (d'ou le saut de 21) avec le bout de code que j'ai poster je cherche la ligne, donc je dois obligatoirement avoir une valeur dans Row, ensuire je fait la meme chose pou Col et de la j'ai la cellule que je desire.

Re,

Comme expliqué dans mon post précédent, tu ne peux pas utiliser un mot clé (Row) comme nom de variable. Ensuite, malgré tes explications claires, il faut faire tourner la macro pas à pas pour trouver ce qui cloche et là, sans le fichier qui va bien, c'est impossible...

Bonjour gmb,

Stp j’ai 3 petites choses :

1- Est-il possible quand je note le numéro 3344 dans la colonne J de la feuille VN-A de transférer la ligne complète dans la feuille BDC et de ne pas laisser des lignes vides dans ma feuille VN-A car le but c’est de couper la ligne de la feuilles VN-A quand elles contiennent 3344 dans la colonne J.

2- Dans la feuille de Nom A, quand on sélectionne les 3 cellules, est ce qu’il y a la possibilité de ne pas avoir le contour des petits pontiers (de copie).

3- Quand je clique sur transfert est-ce que c’est possible de ne pas transferer la couleur de la feuille Nom A vers la feuille VN-A.

Je te remercie énormément pour ta précieuse aide.

4version-3.zip (23.36 Ko)

Bonjour

Nouvelle version.

Bye !

Bonjour gmb,

Je pense que tu t’es trompé du dernier fichier. En fait, tu as joint un autre fichier.

Cordialement,

Bonjour

Avec toutes mes excuses !

Heureusement que je n'avais pas vidé ma poubelle ...

Bye !

Bonjour gmb.

Un grand Merci encore pour ton aide précieuse ça marche à merveille.

Sachez que je vais créer d’autres feuilles Nom B, VN-B, Nom C, VN-C … qui vont suivre le même principe et le transfert final sera effectué dans l’unique feuille BDC. En fait, si je prends ton code est je l’appliquerai aux autres feuilles est ce que tu penses que ça va marcher.

Cordialement,

3version-4.zip (37.36 Ko)

Bonjour

Abdel551 a écrit :

je vais créer d’autres feuilles Nom B, VN-B, Nom C, VN-C … qui vont suivre le même principe ...est-ce... que ça va marcher.

Pour que ça marche, il faut trouver un point commun entre les noms des2 types de feuilles.

Entre nom A, nom B, nom C d’une part. Là, cela semble facile, le point commun est la première partie, « nom » qui précède la lettre qui suit. Mais si un nom de feuille est composé de 3 parties, je suis dans les choux. Ex ‘’nom A et B’

Pareil pour les noms de feuilles de destination.

Et il faut aussi bien sur trouver un type lien commun qui rattache la feuille d’origine à celle de destination.

Or, sauf affirmation contraire de ta part, je suppose que les noms que tu donnes dans ton fichier joint sont des noms provisoires.

Je ne me lancerais donc pas dans un travail que je pressens inutile.

Il me faudrait une série de vrais futurs noms…

Désolé.

Bye !

Bonjour gmb,

Je porte à ton attention que les noms vont rester les mêmes. Est ce qu’il est possible d’appliquer le mêmes fonctionnement des fichiers Nom A, VN-A aux autres feuilles qui sont dans le fichier ci-joint.

Un grand merci pour ta précieuse collaboration,

5version-5.zip (47.33 Ko)

Nouvelle version

Bye !

Bonjour gmb,

Ça marche à merveille.

Un très très grand merci pour ta disponibilité et ton aide précieuse.

Mes sincères salutations,

Rechercher des sujets similaires à "deplacer donnees feuille conditions"