Besoin d aide sur modif de macro
oasisjf
Messages postés
30
Statut
Membre
-
dandypunk Messages postés 838 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
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
A voir également:
- Besoin d aide sur modif de macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Suivi de modification word - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Modificateur de voix - Guide
3 réponses
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")
Workbooks("Classeur1").Worksheets("Feuille1)
Workbooks("Classeur2").Worksheets("toto")
Rq : Les 2 classeurs doivent être ouverts (Workbooks.Open filename:="Classeur1.xls")
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
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
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...
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...