Coller une selection de cellules vers une nouvelle feuille

ManuelM

XLDnaute Nouveau
Bonjour,

Malgré plusieurs essais avec différents vocabulaires, je n'arrive pas à coller une sélection vers la dernière feuille créée.
La dernière solution testée est:

Sheets("CRATE_" & Name).Activate
Range("A13").Activate
Sheets("CRATES_LIST").Paste

Mon code est le suivant,

Code:
Sub Bouton2_Clic()

Dim Name As Integer

'Comptage du numéro de caisse colonne A

With Range("A13:A52")
      Set c = .Find("", LookIn:=xlValues)
      c.Select
End With

'Selection de la dernière cellule non vide colonne A pour créer numéro d'onglet

ActiveCell.Offset(-1, 0).Select
Name = Selection.Value


'Création onglet crate "x" à partir du modèle

Sheets("CRATE_MODELE").Select
Sheets("CRATE_MODELE").Copy After:=Sheets(Sheets.Count)


'Renommage de l'onglet en fonction du nombre de caisses dans la crate list et inscription du numero

ThisWorkbook.ActiveSheet.Name = "CRATE_" & Name
Range("E5").Value = Name


'Copier/coller des poids dimensions en face de la dernière cellule non vide

Sheets("CRATES_LIST").Select
With Range("A13:A52")
      Set c = .Find("", LookIn:=xlValues)
      c.Select
End With

Selection.Offset(-1, 0).Select
Range(Selection, Selection.Offset(0, 5)).Copy


'Collage des poids dimensions dans crate_x

Sheets("CRATE_" & Name).Activate
Range("A13").Activate
Sheets("CRATES_LIST").Paste

End Sub

Merci de vos conseils,

Manuel
 

Pièces jointes

  • Brouillon.xlsm
    56.6 KB · Affichages: 45
  • Brouillon.xlsm
    56.6 KB · Affichages: 40
  • Brouillon.xlsm
    56.6 KB · Affichages: 45
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Coller une selection de cellules vers une nouvelle feuille

Bonjour Manuel,

Pas certain d'avoir tout compris: peux-tu tester ce code en lieu et place du tien (il y a simplement des choses que j'ai essayé d'écrire de manière plus succinte, même si ce que tu avais écrit fonctionnait ... dans certains cas)
VB:
Sub copie()

With Sheets("CRATES_LIST")
    derligne = 12 + Application.Count(.Range("A13:A52"))
    nom = .Cells(derligne, 1)
    Sheets("CRATE_MODELE").Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "CRATE_" & nom
    ActiveSheet.Range("E5") = nom
    .Cells(derligne, 2).Resize(1, 5).Copy Destination:=Sheets("CRATE_" & nom).Range("A13")
End With

End Sub

Au-delà de cette première copie (en imaginant que j'aie bien compris), si tu as besoin d'aide, il faudrait que tu précises ce que tu voudrais faire. Que se passera-t-il, par exemple, si une autre "caisse 1" est ajoutée ... et que la feuille correspondante existe déjà?
 

ManuelM

XLDnaute Nouveau
Re : Coller une selection de cellules vers une nouvelle feuille

Bonjour Modeste,

Je comprends mieux ton surnom en voyant ton niveau en macro, ironique!

Impressionnant tu fais en quelques lignes ce que j'essaie depuis lundi (mais c'est ma première utilisation de vba d'où le script pas très abouti...)
Tout fonctionne bien avec ton code, je crois l'avoir compris donc c'est super, je vais m'en inspirer pour la suite.


Je pense que tu as bien compris le fonctionnement car je compte aborder le point des doublons. Un m^me numéro de caisse ne peut pas exister. On a forcément une ligne Crates_list pour une seule crate "x". Je remplie la ligne crate_list, ensuite je rempli la feuille crate "x" entièrement et ensuite je re-rempli une ligne dans crates_list.

Je te remercie beaucoup pour ton aide, je vais travailler sur la suite (remplissage automatique de ma crate "x" cette fois en venant ouvrir un second fichier excel contenant des références à copier coller de la même façon). Je te tiendrai au courant via le forum.

Manuel
 

ManuelM

XLDnaute Nouveau
Re : Coller une selection de cellules vers une nouvelle feuille

Bonjour Modeste et autre programmeur non prétentieux,

J'ai déjà un soucis sur la suite de mon boulot...

Je souhaite récupérer une valeur entrée manuellement dans une textbox. La valeur a cette forme: ABC1234

Existe t'il une fonction particulière?

J'ai fait ceci en adaptant un code trouvé sur le net:

Code:
Sub Insertion_ligne_commande_dans_fichier_crate()


'je demande le texte recherché

REP = TextBox1.Value

'je cherche

Set r = ActiveSheet.Column("A:A").Find(REP)

'si la valeur a été trouvée

If Not r Is Nothing Then

'j'active la cellule où a été trouvée la valeur

Range(r.Address).Activate

End If

End Sub

Apparement ma fonction textbox1.value ne marche pas, pourtant c'est cette forme que je retrouve dans les tutos:confused:

Merci d'avance,

Manuel
 

Modeste

XLDnaute Barbatruc
Re : Coller une selection de cellules vers une nouvelle feuille

Bonjour Manuel,

La première question qui vient en tête est: "comment as-tu déterminé que c'est le TextBox1.Value qui fait que ça ne fonctionne pas?" Tu as testé le code en mode pas-à-pas ... ou c'est juste une hypothèse qui te paraît vraisemblable? ;) Si ça tombe, c'est au niveau du .Find que ça coince?

La seconde question sera: "comment pourrions-nous arriver à te donner la moindre indication si nous n'avons pas un exemplaire de ton fichier sous les yeux?" Ton TextBox1, c'est un contrôle placé dans la feuille de calcul ou dans un UserForm? La colonne A est présumée contenir la valeur cherchée? Cette valeur figurera seule dans une cellule ou suivie et/ou précédée d'autres caractères? La valeur en question sera unique, dans toute la colonne?
 

ManuelM

XLDnaute Nouveau
Re : Coller une selection de cellules vers une nouvelle feuille

Autant pour moi je suis trop dedans j'oublie les précisions.

Je prépare un fichier exemple non confidentiel et je l'upload dès que possible.

Pour la textbox, oui j'ai fait un pas à pas et le programme me renvoie une erreur 424 (objet requis).

Bref, je prépare quelquechose et je le poste ici.

A bientot
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 022
Membres
104 006
dernier inscrit
CABROL