Copier / Coller d'une feuille à l'autre

Domdom49

XLDnaute Junior
Bonjour à tous,

J'ai un fichier composé de 2 onglets : "1" et "CDD-CDI".
Dans l'onglet "CDD-CDI", il y a en colonne C des noms, et en colonnes D à I un certain nombre d'infos en face de ces mêmes noms.
Ce que j'ai fait, c'est créer un bouton dans l'onglet "CDD-CDI" qui me fait un copier/coller simple dans l'onglet "1" des noms ainsi que les infos des colonnes D à I, à partir de C17 pour les noms, et D17 pour le reste.

Voici le code :
Code:
Sub Cop_Col_SDVD_S1()
  With Sheets("1")
    Range("C17:C" & Range("C" & Rows.Count).End(xlUp).Row).Copy .Range("B10")
    Range([D17], [I65635].End(xlUp)).Copy .Range("C10")
  End With
End Sub

Ce que j'aimerais, et je bloque même si cela n'a pas l'air difficile, c'est mettre ce bouton dans l'onglet "1" afin d'obtenir exactement le même résultat du copier/coller.

Pouvez-vous m'aider à adapter le code svp ?

Merci d'avence,
Domdom49
 

Lone-wolf

XLDnaute Barbatruc
Re : Copier / Coller d'une feuille à l'autre

Bonjour Domdom49,


voici un code pour copier et renommé la nouvelle feuille, à adapter selon ton cas.


Code:
Sub NewSheet()
Dim Sh As Worksheet, sh2 As Worksheet
    Set Sh = Sheets("Accueil")
    For Each sh2 In Worksheets
        If sh2.Name = [F3] Then
            sh2.Activate
            If MsgBox("Notre client(e) " & [F3] & " est déjà enregistré." & vbCrLf & _
            "Voulez-vous supprimer ce client?", vbYesNo, "Microsoft") = vbNo Then
                Exit Sub
            Else
                Application.DisplayAlerts = False
                sh2.Delete
                Application.DisplayAlerts = True
                Exit For
            End If
        End If
    Next sh2
    Sh.Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = [F3]
    
 If ActiveSheet.Name = [F3] Then
 With ActiveSheet
nom = .Range("f3").Value
Set cel = Sheets("Data").Columns("A").Find(what:=nom)
If Not cel Is Nothing Then
.Range("c12") = cel.Offset(0, 1)
.Range("c13") = cel.Offset(0, 2)
.Range("f12") = cel.Offset(0, 3)
.Range("f13") = cel.Offset(0, 4) & " " & cel.Offset(0, 5)
.Range("i12") = cel.Offset(0, 6)
.Range("i13") = cel.Offset(0, 7)
.Range("l12") = cel.Offset(0, 8)
.Range("l13") = cel.Offset(0, 9)
.Range("f17") = .Range("l13")
.Range("b:l").ColumnWidth = 15
End If
End With
End If
End Sub


A+ :cool:
 

Domdom49

XLDnaute Junior
Re : Copier / Coller d'une feuille à l'autre

Bonjour Lone-Wolf,

Merci pour ton aide.

Ci-joint mon fichier exemple.
En fait, ma demande est un peu modifiée afin de rendre la macro plus modulable.

Je souhaiterais qu'en cliquant sur le bouton insérer, la macro aille chercher dans l'onglet "CDI-CDD_SDVD", les noms et le planning de la semaine correspondante en fonction du numéro de l'onglet, pour les coller à partir de la cellule B10.
Exemple :
Onglet "1" -> insérer les noms + planning de la semaine 1 contenu dans l'onglet "CDI-CDD_SDVD".

Merci pour le temps passé sur ma demande.

Domdom49
 

Pièces jointes

  • Test_import.xlsm
    23.4 KB · Affichages: 39

Discussions similaires

Statistiques des forums

Discussions
312 240
Messages
2 086 518
Membres
103 241
dernier inscrit
Peyo33