Copie d'une feuille active

flo189

XLDnaute Occasionnel
Bonjour à tous,

Je travaille sur un fichier et je bloque sur le code.

Je veux copier les infos d'une feuille (nom de la feuille variable) vers une autre fixe "Cotation".

Sub test()

Sheets("Cotation").Select
ActiveWindow.SmallScroll Down:=-18
Range("J4:S4").Select
ActiveCell.FormulaR1C1 = "=Modéle!R6C8"
Range("J5").Select


End Sub

Donc ok pour la feuille "Cotation". Mais le nom de la feuille de référence évolue à chaque fois, donc quel est le code plus généraliste pour éviter de se reférer à la feuille Modéle. C'est a dire qu'il me faudrait un code pour dire feuille active ou qqchose comme ça.

Merci à vous
 

flo189

XLDnaute Occasionnel
Re : Copie d'une feuille active

Bonjour,

Merci de ton aide. Je ne parviens tout de même pas à faire ce que je souhaite.
Il faudrait qu'à l'aide d'un bouton j'ouvre un classeur excel, sur ce classeur je souhaite copier tjs les mêmes cellules de la même feuille.
Peux tu m'aider ?
 

flo189

XLDnaute Occasionnel
Re : Copie d'une feuille active

J'ai le code suivant :

Sub Ouvre()
Dim wbMyWb As Workbook
Dim Nom_Fichier As Variant

Nom_Fichier = Application.GetOpenFilename
If Nom_Fichier <> False Then
Set wbMyWb = Workbooks.Open(Nom_Fichier)
wbMyWb.Activate
End If

Windows("App'cot.xlsm").Activate


Windows("App'cot.xlsm").Activate
Range("J4:S4").Select
ActiveCell.FormulaR1C1 = "=??????!R6C8:R6C17"

End Sub


Je voudrais le code qui remplace les ???
Ces ??? représentent la feuille 1 du classeur ouvert auparavant, je ne sais pas quoi mettre du coup
 

fhoest

XLDnaute Accro
Re : Copie d'une feuille active

Bonjour,
quel est le nom du classeur source,du classeur de destination,de la feuille source et de la feuille de destination ?
exemple pour une cellule;si Cs = classeur source,Cd = classeur destination,Fs1 = feuille source,Fd1 = feuille destination
Code:
With workbook("Cd").sheets("Fd1")
.range("A1").value=workbook("Cs").sheets("Fs1").range("A1").value
end with
comme cela tu restes dans le classeur source est tu traites les données dans le deuxième classeur de destination
sans formulaR1C1
A bientôt.
 

flo189

XLDnaute Occasionnel
Re : Copie d'une feuille active

Merci de ton aide

Mais le nom du classeur source est variable, la feuille source toujours la feuil1
Classeur de destination: App'cot
Feuille de destination : Cotation

As-tu une solution
 

fhoest

XLDnaute Accro
Re : Copie d'une feuille active

Bonjour,
Variable oui donc il faut passer par une variable,mais le classeur de destination contient le bouton ou c'est le classeur source ?
on va arriver à une solution ne t'inquiètes pas
A+
 

fhoest

XLDnaute Accro
Re : Copie d'une feuille active

Bonjour,
voici le code que tu souhaites (en partie)
il faut maintenant l'adapter aux cellules souhaitées.
Code:
 Sub Ouvre()
 Dim wbMyWb As Workbook
 Dim Nom_Fichier As Variant
 Dim Classeursource As String
 Nom_Fichier = Application.GetOpenFilename
 If Nom_Fichier <> False Then
 Set wbMyWb = Workbooks.Open(Nom_Fichier)
 'wbMyWb.Activate
 End If
'Attribution de la valeur nom du classeur source
 Classeursource = wbMyWb.Name
'activation du classeur destination (une seule fois)
 Windows("App'cot.xlsm").Activate
 'Range("J4:S4").Select
 'ActiveCell.FormulaR1C1 = "=??????!R6C8:R6C17"
 '
 With ActiveWorkbook.Sheets("Cotation")
 .Range("A1").Value = Workbooks(Classeursource).Sheets(1).Range("A1").Value
 End With
 End Sub
A bientôt.
 

flo189

XLDnaute Occasionnel
Re : Copie d'une feuille active

Après quelques essais j'ai une erreur sur le code voir capture ci_jointe.

Merci de ton aide

Erreur.JPG
 

Pièces jointes

  • Erreur.JPG
    Erreur.JPG
    43.7 KB · Affichages: 30
  • Erreur.JPG
    Erreur.JPG
    43.7 KB · Affichages: 37
Dernière édition:

fhoest

XLDnaute Accro
Re : Copie d'une feuille active

Bonsoir,
Est ce toujours avec le même fichier c'est étrange.
Quelle est l'erreur ?
Tu peux mettre le code suivant il est mieux (si on annule)
mais pour ton erreur je ne suis pas sur que cela servira.
Code:
 Sub Ouvre()
 Dim wbMyWb As Workbook
 Dim Nom_Fichier As Variant
 Dim Classeursource As String
 Nom_Fichier = Application.GetOpenFilename
 If Nom_Fichier <> False Then
 Set wbMyWb = Workbooks.Open(Nom_Fichier)
 'wbMyWb.Activate
 End If
If Not wbMyWb Is Nothing Then
'Attribution de la valeur nom du classeur source
 Classeursource = wbMyWb.Name
'activation du classeur destination (une seule fois)
 Windows("App'cot.xlsm").Activate
 'Range("J4:S4").Select
 'ActiveCell.FormulaR1C1 = "=??????!R6C8:R6C17"
 '
 With ActiveWorkbook.Sheets("Cotation")
 .Range("A1").Value = Workbooks(Classeursource).Sheets(1).Range("A1").Value
 End With
End If
 End Sub
Merci.

Edit: Bonsoir Staple1600 :)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 110
Messages
2 085 388
Membres
102 882
dernier inscrit
Sultan94