VBA: bug sur collage special

kerlannais

XLDnaute Junior
Bonjour,

J'ai fait cette petite macro:
Sub Créationfeuille()
'
' Créationfeuille Macro
' Macro enregistrée le 21/01/2010 par s.vanstaen
'
Sheets("Base").Select
Sheets("Base").Copy Before:=Sheets(1)
Sheets("Accueil").Select
Range("I9").Select
Selection.Copy
Sheets("Base (2)").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

ActiveSheet.Name = Range("C2").Value
Sheets("Accueil").Select
Range("I9").Select
Selection.ClearContents
End Sub

Sauf que le jour où je l'ai tapé ca a fonctionné et désormais il ne me colle plus I9 dans Base 2 et par conséquent il n'arrive plus à renommer automatiquement la feuille d'où vient mon probleme?

Merci.:eek:
 

Minick

XLDnaute Impliqué
Re : VBA: bug sur collage special

Salut,

Pour que I9 de Accueil soit copie en C2 de Base (2) il manque:
Range("C2").Select avant la ligne du pastespecial

Mais le code est pas tres joli, ci-dessous une autre proposition:
Code:
Sub Créationfeuille2()
    Dim Sht As Worksheet
    
    Sheets("Base").Copy Before:=Sheets(1)
    Set Sht = ActiveSheet
    Sht.Name = Sht.Range("C2").Value    
    Sht.Range("C2").Value = Sheets("Accueil").Range("I9").Value
    Sheets("Accueil").Range("I9").ClearContents
    Set Sht = Nothing
End Sub
 

kjin

XLDnaute Barbatruc
Re : VBA: bug sur collage special

Sauf que le jour où je l'ai tapé ca a fonctionné et désormais il ne me colle plus I9 dans Base 2
Coller dans base2 mais où ?!
Avec ce que je comprends
Code:
Sub Créationfeuille()
With Sheets("Accueil")
    Set Macellule = .Range("I9")
    Sheets("Base").Copy Before:=Sheets(1)
    ActiveSheet.Name = Range("C2") 'est-ce bien C2 de la feuille active dont-il s'agit ???
    .Range("I9").ClearContents
End With
End Sub
A+
kjin
 

Discussions similaires

Réponses
2
Affichages
167

Statistiques des forums

Discussions
312 652
Messages
2 090 542
Membres
104 572
dernier inscrit
saumech