Bonjour,
J'essaye de développé une macro qui fait 32 choses:
- Copie d'une feuille Devis dans un nouveau fichier = Ca fonctionne
- Création d'une feuille Donnée dans le nouveau fichier = Ca fonctionne
- Copie le nom et la valeur des cellules qui ont un nom défini dans la feuille Donnée du nouveau fichier = Ca ne fonctionne pas.
currentIO.Names me retourne toujours 0 alors que j'ai des cellules avec un nom.
Voici ce que j'ai essayé de faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 Sub Sauver() Dim currentNewWB As Workbook Dim newWB As Workbook Dim currentIO As Worksheet Dim newWSDevis As Worksheet Dim newWSDonnee As Worksheet Dim myName As Name Dim intCount As Integer ' Initialisation avec la feuille existante Set currentNewWB = ActiveWorkbook ' Initialisation de la feuille In-Outputs Set currentIO = currentNewWB.Sheets("In-Outputs") ' Je copie la feuille courante Devis Worksheets("Devis").Copy Set newWB = ActiveWorkbook ' Je supprime les formules de la feuille devis Set newWSDevis = newWB.Sheets("Devis") newWSDevis.UsedRange.Value = newWSDevis.UsedRange.Value ' Je créé une nouvelle feuille Donnée Set newWSDonnee = Sheets.Add(After:=Sheets(Sheets.Count)) newWSDonnee.Name = "Donnée" intCount = 0 For Each myName In currentIO.Names newWSDonnee.Range("A" & intCount).Value = myName.Name newWSDonnee.Range("A" & intCount).Value = myName.Value intCount = intCount + 1 Next newWB.SaveAs "d:\NewReport01.xlsx" newWB.Close End Sub
Merci d'avance pour votre aide.
Partager