Probleme macro création d'onglet

phil87

XLDnaute Occasionnel
Bonjour le forum

J'ai récupéré une macro sur le fil mais je n'arrive pas à la faire évoluer et même marcher!!!

Je voudrai en appuyant sur le bouton "Archivage"
-Créer un nouvel onglet au nom de la cellule B2
-Copier le contenu de cet onglet "Envoi" dedans.

Et biensur, si la date change en B2, alors création de nouvel onglet.

Merci de votre aide en attendant
 

Pièces jointes

  • Essai.zip
    38.4 KB · Affichages: 37
  • Essai.zip
    38.4 KB · Affichages: 34
  • Essai.zip
    38.4 KB · Affichages: 35

soenda

XLDnaute Accro
Re : Probleme macro création d'onglet

Bonsoir le fil, phil87

Tu peux écrire la Sub a(), comme ceci :
Code:
Sub a()
 
    Sheets.Add after:=Sheets(Sheets.Count)
    Feuil2.Copy ActiveSheet
    ActiveSheet.Name = Format(Feuil2.[B2], "mmmm yyyy")
 
End Sub
Ca ne vérifie pas que la feuille existe déjà (et ça copie aussi le bouton de commande), mais vois ce que tu peux faire avec.

...Si ça ne va toujours pas, dis nous.

A plus
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : Probleme macro création d'onglet

Salut, pour l'existence de la feuille ajouter qqch comme ceci au code de Soenda
Code:
Option Explicit

Sub Tst()
Dim sNomFeuille As String
    sNomFeuille=.....
    If ExistenceFeuille(sNomFeuille) = False Then
        '.....
    End If
End Sub

Private Function ExistenceFeuille(ByVal sNom As String) As Boolean
    On Error Resume Next
    ExistenceFeuille = Sheets(sNom).Name <> ""
    Err.Clear
End Function
 
Dernière édition:

phil87

XLDnaute Occasionnel
Re : Probleme macro création d'onglet

Bonjour kiki29

Je ne suis pas très au point en code et je ne sais pas trop où mettre ta proposition, car elle me met des erreurs en rouge :
sNomFeuille=.....

Peux tu m'inscrire ton code où il faut afin qu'il fonction dans le fichier joint?

Merci par avance
 

Pièces jointes

  • EssaiV2.zip
    37.3 KB · Affichages: 50
  • EssaiV2.zip
    37.3 KB · Affichages: 49
  • EssaiV2.zip
    37.3 KB · Affichages: 42

soenda

XLDnaute Accro
Re : Probleme macro création d'onglet

Bonsior le fil, phil87, kiki29

Après avoir vérifié, il semblerait que l'on soit obligé de spécifier les plages.
De plus, puisque tu utilises une feuille cachée, on peut charger les noms de feuille dans une colonne inutilisée (ex: [ZZ]).
Code:
Sub a()
    Dim ch As String
    ch = Format(Feuil2.[B2], "mmmm yyyy")
 
    [COLOR=green]' si la feuille existe dans la base de données, on[/COLOR] [COLOR=green]sort[/COLOR]
    If WorksheetFunction.CountIf(Sheets("Données").[B][COLOR=teal][ZZ:ZZ][/COLOR][/B], ch) Then Exit Sub
 
    Sheets.Add after:=Sheets(Sheets.Count)
    Feuil2.[COLOR=blue][A:AM][/COLOR].Copy ActiveSheet.[COLOR=blue][A:AM][/COLOR]
    ActiveSheet.Name = ch
 
    [COLOR=green]' On ajoute le nom de la feuille nouvellement créée dans la base[/COLOR]
    Sheets("Données").[[B][COLOR=teal]ZZ[/COLOR][/B]65536].End(xlUp).Offset(1) = ch
End Sub
Ca vérifie bien si la feuille existe, ça ne crée qu'une seule feuille, mais c'est une solution "peu ortodhoxe".
Je la préfère quant même à l'effacement de la feuille surnuméraire...

A plus
 
Dernière édition:

phil87

XLDnaute Occasionnel
Re : Probleme macro création d'onglet

Bonjour le fil et soenda

Merci pour ton code, mais il y a 1 petite erreur:

Lors des créations de nouvelle feuille,(avec le code) celles "en archive", gardent bien leur nom (impec!!), mais le contenu des feuilles est celui de la derniere feuille enregistrée!!!

Merci encore
@+
 

Pièces jointes

  • EssaiV3.zip
    47.7 KB · Affichages: 31
  • EssaiV3.zip
    47.7 KB · Affichages: 26
  • EssaiV3.zip
    47.7 KB · Affichages: 30

soenda

XLDnaute Accro
Re : Probleme macro création d'onglet

Re,

phil87 à dit:
...le contenu des feuilles est celui de la derniere feuille enregistrée!
Oups ! On copiait des formules ...

Remplace la ligne ci-dessous :
Code:
Feuil2.[A:AM].Copy ActiveSheet.[A:AM]
Par celles-ci (copie des valeurs et des formats, mais pas les formules)
Code:
    Feuil2.[A:AM].Copy
    With ActiveSheet.[A:AM]
        .PasteSpecial Paste:=xlPasteValues
        .PasteSpecial Paste:=xlPasteFormats
    End With
A plus
 

phil87

XLDnaute Occasionnel
Re : Probleme macro création d'onglet

Bonjour le forum

Je reviens à vous car j'ai quelques soucis de transformation sur une ligne (9 notemment de la feuille "envoi").
Je n'arrive pas à voir d'où vient le souci!
Toutes les autres lignes fonctionnent pour la recopie sauf la ligne 9.
Est ce un problème de VBA ou autre chose??????

merci par avance
 

Pièces jointes

  • SPV1.zip
    48.6 KB · Affichages: 35
  • SPV1.zip
    48.6 KB · Affichages: 36
  • SPV1.zip
    48.6 KB · Affichages: 40

soenda

XLDnaute Accro
Re : Probleme macro création d'onglet

Bonjour le fil, phil87

J'ai jeté un couup d'oeil à la Sub Report et je me suis arrêté à la ligne 10 :

Sheets("Données").Range("B5").Copy "Ici, tu dois ajouter la destination"

A plus
 

phil87

XLDnaute Occasionnel
Re : Probleme macro création d'onglet

Bonjour le fil et soenda

"Ici, tu dois ajouter la destination"

Peux tu être plus explicite car je suis vraiment très mauvais en VBA?!
Peux tu m'écrire la procédure?
Et pourquoi les reste des lignes fonctionne? il n'y a que cette ligne qui ne fonctionne pas!!

Merci encore
 

soenda

XLDnaute Accro
Re : Probleme macro création d'onglet

Re,

phil87 à dit:
Sheets("Données").Range("B5").Copy "Ici, tu dois ajouter la destination"
Peux-tu être plus explicite (...) ?
Dis-moi à quel endroit, tu veux copier le contenu de la cellule B5 de la feuille "Données", et je pourrai compléter la ligne.

Je n'ai pas regardé les autres lignes.

A plus
 
Dernière édition:

phil87

XLDnaute Occasionnel
Re : Probleme macro création d'onglet

Re,

Je veux que dans le tableau de la "feuil1", differentes anotations se transforment dans le tableau de la feuille "Envoi", comme indiqué dans la feuille masquée "données". Et cela sur toutes les lignes!!
Exemples :
feuil1 Envoi
A G
Aj J
An N
C G
 

Discussions similaires

Réponses
26
Affichages
420
Réponses
23
Affichages
1 K

Statistiques des forums

Discussions
312 336
Messages
2 087 388
Membres
103 534
dernier inscrit
Kalamymustapha