Bonjour,
J'ai un problème avec ma fonction range.
L'objectif de mon programme et de pouvoir choisir dans un fichier n'importe quelle colonne de données dans n'importe quelle feuille de mon fichier excel puis de coller la colonne choisie dans une nouvelle feuille en ligne avec la fonction copier en transposant.
Voici mon code :
Sub Macro1()
'
' Macro1 Macro
'
Dim xName1 As String
Dim xName2 As String
Dim range1 As Object
Dim range2 As Object
Dim xSht As Object
Dim I As Integer
On Error Resume Next
xName1 = InputBox("Please enter a name for this new sheet ", "Kutools for Excel")
If xName1 = "" Then Exit Sub
Set xSht = Sheets(xName1)
If Not xSht Is Nothing Then
MsgBox "Sheet cannot be created as there is already a worksheet with the same name in this workbook"
Exit Sub
End If
Sheets.Add(, Sheets(Sheets.Count)).Name = xName1
'
xName2 = InputBox("NOM de la feuille avec les données à copier", "Kutools for Excel")
range1 = InputBox("range premiere case à copier", "Kutools for Excel")
range2 = InputBox("range derniere case à copier", "Kutools for Excel")
Worksheets(xName2).Range("range1 : range2").Copy
Worksheets(xName1).Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End Sub
Cependant la fonction range n'accepte pas que les données viennent de InputBox mais quand je mets manuellement la plage de données cela fonctionne très bien.
Cordialement
Edit Modo : merci d'utiliser les balises de codes disponibles dans le menu en cliquant sur l'icone </> et en collant le code dans la fenetre