Je Cherche la macro pour copier des cellules dans d'autre

Bonjour,

J'ai aucune idée comment faire le code pour pouvoir faire ceci:

déjà pour expliquez ce que l'on veut c'est pas facile, j’espère erre assez explicite.

en changeant de page ou en cliquant sur un bouton,

=Si (BF2)=2; envoyer (B2) sur la feuille (Liste No2) sur (A) & (Maligne)

envoyer (C2) sur la feuille (Liste No2) sur (B) & (Maligne)

envoyer (J2) sur la feuille (Liste No2) sur (C) & (Maligne)

envoyer (M2) sur la feuille (Liste No2) sur & (Maligne)

=Si (BF2)=3; envoyer (B2) sur la feuille (Liste No3) sur (A) & (Maligne)

envoyer (C2) sur la feuille (Liste No3) sur (B) & (Maligne)

envoyer (J2) sur la feuille (Liste No3) sur (C) & (Maligne)

envoyer (M2) sur la feuille (Liste No3) sur & (Maligne)

=Si (BF2)=4; envoyer (B2) sur la feuille (Liste No4) sur (A) & (Maligne)

etc.. Jusqu’à 8.

= et Si("";"")

Cette oppérations répété pour:

BF3

BF4

etc.. jusqu’à (BF85)

Merci pour vos solutions.

Salut,

Si tu nous fournissais un fichier, on ne devrait pas le créer nous-mêmes Penses-y la prochaine fois.

De plus ta demande n’est pas très claire. Une fois tu parles d’un maximum de 8, une autre fois de 85

Dans le fichier ci-joint, je te montre comment reporter des données de la Feuil1 sur une autre feuille dont la numérotation dépend de la cellule BF2. Tel qu’est construit ce fichier, tu ne peux avoir comme valeur de cette cellule BF2 que des chiffres de 2 à 5. Mais il est bien entendu que si tu avais des feuilles numérotées FeuilXXX jusqu’à 8 ou jusqu’à 85, ça élargirait la fourchette des nombres acceptés en BF2.

A défaut d’explications plus claires et sans fichier, j’ai présumé qu’il fallait placer ces données les unes à la suite des autres sur les différentes feuilles où elles sont envoyées.

Sub ss()
Dim i As Integer, MaLigne As Integer

With Sheets("Feuil" & Range("BF2"))
    MaLigne = .Range("A" & Rows.Count).End(xlUp).Row + 1
    .Range("A" & MaLigne) = Range("B2")
    .Range("B" & MaLigne) = Range("C2")
    .Range("C" & MaLigne) = Range("J2")
    .Range("D" & MaLigne) = Range("M2")
    .Select
End With

End Sub

Si tu n’arrives pas à adapter ce code à ton fichier, il nous faut absolument ton fichier.

Cordialement.

Merci beaucoup, c'est vrais que je ne suis pas été assez explicite, je n'avais pas penser a envoyer un fichier.

J'ai recréer un fichier simple expliquant ce que je veux faire car le mien est trop lourd.

Merci de votre aide.

26classeur1.xlsx (14.07 Ko)

Salut,

Effectivement que d'envoyer un fichier empêche du travail inutile

Dans le fichier ci-joint, à chaque fois que tu sélectionnes une feuille qui commence par "Appart" (attention, le code est sensible à la casse), la feuille entière se réactualise en fonction de la Feuil1 (les anciennes données sont effacées à chaque fois).

Est-ce que ça peut te convenir ainsi ?

45ambroise-v2.zip (14.06 Ko)

Salut Yvouille,

Super c'est pratiquement ce que je veux, par contre il faudrait plutôt l'activer avec un bouton, car ensuite cela mets d'autre feuille a jours et les feuilles Appart ne seront pas forcement ouvert, voir même cachée pour certain utilisateur. donc il faut que même si elle sont cachée sa fonctionne,

Je sais je ne l’avais pas préciser, mais je pensais pouvoir modifier a ma façon, mais non j'y arrive pas (voila le problème des amateur qui n'y connaisse rien.)

Merci encore de ton aide

Re,

Donc tu désires que sur la feuille 1 il y ait un bouton et que lorsque tu cliques dessus, les feuilles Appart 2 à 8 soient réactualisées en une seule fois après en avoir entièrement effacé les anciennes données qu'elles comportaient ?

A te relire.

EDIT : A tout hasard, voici quand même un fichier qui réalise cela.

42ambroise-v3.zip (14.99 Ko)

Super t'est un chef,

Je crois que cette fois c'est ce que je veux.

Je vais l'adapter a mon fichier et te redit mais je pense que c'est bon

Merci de ton aide précieuse.

Alors voila je l'ai adapter et ça marche super,

Sauf que quand je mets le bouton sur une autre feuille, (je préférerais car ces feuille seront cachée), ça ne marche pas, y a t'il une solution? ce que je comprend pas c'est que ça marche pas pour ajouter mais ça marche pour supprimer un nom d'une liste!

merci.

Salut,

Si tu nous envoyais tout de suite ton fichier réel, on gagnerait un temps énorme

Lorsque tu utilises des mots clefs comme Range ou Cells, si tu n’indiques pas à quelle feuille ça fait référence, ça sous-entend normalement qu’il s’agit de la feuille active. Comme j’avais placé mon bouton sur la Feuil1 – puisque tu ne m’avais pas dit que tu voulais le placer ailleurs – je n’aurais pas eu besoin d’inscrire un peu partout dans mon code des Feuil1.Range(xx). Mais je l’ai malgré tout fait – un peu par habitude – sauf dans la ligne With Sheets("Appart " & Cells(i, 6)). Mais comme le bouton était placé sur la Feuil1, ça fonctionnait bien quand même.

Si tu déplaces maintenant ton bouton sur une autre feuille, mon code recherche donc le numéro de la feuille Appart xx sur la base de la Cells(i,6) de la feuille active. Si par hasard il s’agit d’un chiffre de 2 à 8, le code va placer certaines données sur la feuille correspondante, si ça ne correspond pas à un chiffre de 2 à 8, il passe par-dessus, puisqu’il y a l’instruction On Error Resume Next (que j’avais placée puisque tu avais des lignes vides dans ton exemple dans la colonne F).

Afin de résoudre ton problème, il suffit donc de modifier la ligne indiquée ci-dessous en :

With Sheets("Appart " & Feuil1.Cells(i, 6))

Amicalement.

41ambroise-v4.zip (15.54 Ko)

Super Merci, ça marche tip top,

désolée de ne pas avoir envoyer mon fichier, mais comme dit plus haut il est trop lourd.

Merci encore de ton aide.

Salut,

Si un fichier est trop lourd, tu peux n’y laisser que deux ou trois feuilles représentatives, n’y laisser que 20 lignes représentative par feuilles, etc.

Ensuite tu peux comprimer ton fichier et – si ça ne passe toujours pas – utiliser des sites hébergeurs comme CJoint (très simple d'utilisation mais limité dans la grandeur des fichiers ou de la durée d'archivage) ou d'autres sites hébergeurs.

Amicalement.

c joint

Merci du conseille,

meilleur salutation

Rechercher des sujets similaires à "cherche macro copier"