Besoin d aide sur modif de macro

oasisjf Messages postés 26 Date d'inscription   Statut Membre -  
dandypunk Messages postés 838 Statut Membre -
Bonjour,

Jusqu'a présent je copiais différentes données sur ma feuille 1 de mon classeur1 . Aujourd'hui je souhaite toujours copier ses données mais sur un autre Classeur2, feuille toto.

A savoir que le classeur2 est déjà ouvert.

Dim Nom As String
Dim NbDonnée As Integer
Dim Nb As Integer, Y As Integer
Dim Element_Select As Boolean
Dim X As Integer

Sheets("Feuil1").Select


Vous remerciant par avance

oasisjf
Configuration: Windows Vista
Internet Explorer 7.0

3 réponses

  1. dandypunk Messages postés 838 Statut Membre 83
     
    Essayes de passer au niveau Workbook

    Workbooks("Classeur1").Worksheets("Feuille1)
    Workbooks("Classeur2").Worksheets("toto")

    Rq : Les 2 classeurs doivent être ouverts (Workbooks.Open filename:="Classeur1.xls")
    0
  2. oasisjf Messages postés 26 Date d'inscription   Statut Membre
     
    Bonjour dandypunk,

    je pense qu'il faut absolument que je te mette ma macro donc :

    Private Sub CommandButton5_Click() 'Transfert vers...
    Dim Nom As String
    Dim NbDonnée As Integer
    Dim Nb As Integer, Y As Integer
    Dim Element_Select As Boolean
    Dim X As Integer

    'Application.ScreenUpdating = False 'ne pas voir ce qui se passe à l'écran
    Sheets("Feuil1").Select ' selection de la feuille ou vont les données
    NbDonnée = Range("A7").Value
    Element_Select = False
    Nb = Sheets("Clients").Range("AQ3").Value
    X = 4
    If Nb = 0 Then Exit Sub 'si bibli vide

    '------------------ Transfert -------------
    For i = 0 To Nb - 1
    If UserForm12.ListBox1.Selected(i) = True Then
    Element_Select = True
    'Range("B8").Value = UserForm12.TextBox2.Value
    Range("D4").Value = UserForm12.TextBox2.Value & " " & UserForm12.TextBox3.Value
    'ActiveWorkbook.Sheet("devis rapide LTSC (version 1)").Range("D4").Value = UserForm12.TextBox2.Value & " " & UserForm12.TextBox3.Value
    'ActiveWorkbook.Sheet("Devis Facture Rapide").Range("D4").Value = UserForm12.TextBox2.Value & " " & UserForm12.TextBox3.Value
    Range("D5").Value = UserForm12.TextBox4.Value
    Range("D6").Value = UserForm12.TextBox5.Value

    End If
    Next

    '----------- DETECTION D'ERREUR (PAS DE SELECTION)---------------
    If Element_Select = False Then
    MsgBox "vous n'avez rien sélectionné: fin du programme", , "FACTURE DEVIS"
    Exit Sub
    End If
    Application.CutCopyMode = False ' pour effacer le pressepapier sinon j'ai le message de trop plein quand je ferme excel
    End Sub


    cette macro fonctionne à parfaitement, si tu veux dans un userform je selectionne des textbox puis je les copie directement, et donc aujourd'hui je veux toujours les copier mais vers un autre classeur déjà ouvert

    merci par avance oasis_1
    0
  3. dandypunk Messages postés 838 Statut Membre 83
     
    Je cherche mais pour l'instant, je travaille en dégradé. (Réinstallation bécane principale (3 OS+ 3 AGL avec MAJ) 15 jours avant d'avoir Office 2000)

    Quelques indications toutefois :

    -Copie ton code dans PERSO.XLS sous le nom CopieFactureDevis (par exemple)
    -Crée un .XLT avec un bouton
    -Code du bouton :
    Private Sub CommandButton1_Click()
    CopieFactureDevis
    End Sub

    Dans ton code ajoute (code à la volée, non testé cf plus haut)

    Dim wbSource As WorkBook 'Classeur d'origine
    Dim wbDest As Worbook 'Classeur de destination

    SET wbDest =ThisWorkBook 'Classeur en cours

    Workbooks.open filename := "Source.xls"
    SET wbSource=Workbooks("Source.xls")

    NbDonnées=wbSource.Workseets(1).Range("A7").Value
    Element_Select=FALSE
    Nb=wbSource.WorkSheets("Clients").Range("AQ3").Value

    wbDest.WorkSheets("Feuil").Select

    etc...
    0