gregouille
XLDnaute Nouveau
j'ai une macro qui me créer des feuilles par rapport a une liste donnée qui se situe entre A10 et A32 inclus
supposons que j'execute la macro pour qu'elle me creer les feuilles et qu'ensuite je m'appercoive que j'ai oublié une ligne, quand je re-éxécute la macro elle va me créer les feuilles deja faite
donc ce que je voudrais c'est intégrer une ligne dans la macro qui :
- soit évite les doublons et ne créer pas la feuille si elle y est deja
ou
- qu'elle m'éfface les feuilles deja créer auparavant pour ensuite ma les recréer comme avant
PS: j'ai une petite preference pour la première solution
j'ai bien une idée de comment faire mais je sais pas lui dire en VBA
voila ma macro que DAN m'a concocté
merci d'avance pour votre aide
supposons que j'execute la macro pour qu'elle me creer les feuilles et qu'ensuite je m'appercoive que j'ai oublié une ligne, quand je re-éxécute la macro elle va me créer les feuilles deja faite
donc ce que je voudrais c'est intégrer une ligne dans la macro qui :
- soit évite les doublons et ne créer pas la feuille si elle y est deja
ou
- qu'elle m'éfface les feuilles deja créer auparavant pour ensuite ma les recréer comme avant
PS: j'ai une petite preference pour la première solution
j'ai bien une idée de comment faire mais je sais pas lui dire en VBA
Sub Transfert()
'Macro par DAN pour Gregouille le 19/09/2006
'Fil : Lien supprimé
Dim i As Byte, lig As Integer, ligne As Integer
Application.ScreenUpdating = False
On Error Resume Next
lig = Sheets("Tableau").Range("A32").Row
For i = 10 To lig
If Sheets("Tableau").Range("A" & i).Value = 0 Then _
Sheets("mod_fich").Visible = False: End
With Sheets("mod_fich")
.Visible = True
.Copy after:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = "fich_" & i - 9
With ActiveSheet
.Cells(3, 9) = Sheets("Tableau").Cells(i, 1).Value
.Cells(5, 9) = Sheets("Tableau").Cells(i, 2).Value
.Cells(6, 5) = Sheets("Tableau").Cells(i, 13).Value
.Cells(42, 9) = Sheets("Tableau").Cells(i, 10).Value
.Cells(13, 2) = Sheets("Tableau").Cells(i, 14).Value
.Cells(2, 9) = "num_" & i - 9
.Cells(4, 8) = Sheets("Tableau").Cells(3, 10).Value
End With
Next i
Application.ScreenUpdating = True
End Sub
voila ma macro que DAN m'a concocté
merci d'avance pour votre aide