IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Double conditions / Sheets = Sheets


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2018
    Messages : 30
    Par défaut Double conditions / Sheets = Sheets
    Bonjour tous le monde,

    J'espère que vous avez bien fêter la victoire de la France ! (y)

    J'ai presque finis ma maccro sur excel, cependant, il me manque une étape et je ne sais pas comment l'écrire en VBA.
    Voici mon code :
    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
    42
    43
    44
    45
    46
    47
    48
    Sub Direction222()
    
        Dim wkb As Workbook
        Dim shCounter As Integer
        Dim name As String
        Dim val As Range
            
        For shCounter = 4 To ThisWorkbook.Sheets.Count  ' Feuille 4 à fin
            name = ThisWorkbook.Sheets(3).Range("E" & shCounter).Value  ' Prend les valeurs colonne E sheet 3
            ThisWorkbook.Worksheets(shCounter).Range("O1:Q28").Copy
            If name <> "" Then
                Set wkb = Workbooks.Add
                With Range("A1:C28") 'Début de l'instruction avec : WITH
                ActiveSheet.Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
             .Borders.Value = 1
             With .Font
                 .Size = 12
                 .name = "Arial Black"
                 .Bold = False
                 .ColorIndex = 46
             End With
         End With
                Columns("A:A").EntireColumn.AutoFit
                wkb.SaveAs "F:\Partages\Commun_DRH\Taux de recouvrement\Evolution\2018\" & name & ".xls"
                Sheets.Add After:=Worksheets(Worksheets.Count), Count:=9
                Sheets(1).name = "31012018"
                Sheets(2).name = "28022018"
                Sheets(3).name = "31032018"
                Sheets(4).name = "30042018"
                Sheets(5).name = "31052018"
                Sheets(6).name = "30062018"
                Sheets(7).name = "31072018"
                Sheets(8).name = "31082018"
                Sheets(9).name = "30092018"
                Sheets(10).name = "31102018"
                Sheets(11).name = "30112018"
                Sheets(12).name = "31122018"
                wkb.Close savechanges:=True
            
         '''''   Else: Sheets(Count).name = Workbook("Base").Sheets(1)
         ''''   Workbook.Sheets(shCounter).Copy
         ''''   wkb
            
            End If
            
        Next
    Le code que je souhaiterai écrire pour qu'il soit finit est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      Else ' Si le fichier est déjà créer, alors, ouvrir le fichier concerné dans "F:Partages/.../.." puis, si la sheet 1 du fichier excel
                 ' "Base" est égal au nom d'une sheet du fichier créer alors ...
    Merci pour votre aide !

    Très cordialement

  2. #2
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Alors pour tester si ton fichier existe ou pas tu peux utiliser la fonction DIR (a ne pas confondre avec la commande du DOS) ou utiliser la méthode décrite ci-dessous

    http://warin.developpez.com/access/fichiers/#LI-D-1

    sinon Perso je suis pas Fan de mettre un nom de feuille identique à un nom de classeur on augmente, dans ce cas, le risque de plantage du fichier un jour ...

    Ou alors c'est que j'ai pas tout compris

    A+

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2018
    Messages : 30
    Par défaut
    J'essaie de placer dans mon code quelque chose comme ça, mais je n'y comprend pas grand chose...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Else: wkb.Sheets(1).name = Workbook("base").Sheets(1).name
               Workbook("base").Worksheets(shCounter).Range("O1:Q28").Copy
              wkb.Select
              ActiveSheet = base.Sheets(1).name
              Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    Il y a un problème au niveau de mon Workbook("base") et également ActiveSheet = base.Sheets(1).name

Discussions similaires

  1. [XL-2003] Double click Cell-Sheet
    Par Djromé dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/01/2010, 21h09
  2. ouverture d'un formulaire sur une double condition
    Par mat75019 dans le forum Access
    Réponses: 6
    Dernier message: 27/10/2006, 16h13
  3. Double condition sur une date
    Par Olivier95 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 26/06/2006, 13h34
  4. Double condition !!
    Par calimero642 dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2006, 13h49
  5. Réponses: 8
    Dernier message: 02/05/2006, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo