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 :

Blocage ouverture sheet


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
    etudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Par défaut Blocage ouverture sheet
    Bonjour,

    Voilà quand j'importe un nouveau fichier texte, il s'importe bien mais dans la suite de mon programme j'ouvre une série de fenêtre sauf que vu qu'elle sont deja ouverte cela me fait une erreur d’exécution 1004 "ce nom est deja attribué" hors je ne veux pas les créer une seconde fois comme bloquer cela.

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     
     
    Private Sub Importer_Click()
        Dim fichier_choisi As Variant
        fichier_choisi = Application.GetOpenFilename(FileFilter:=" txt file or  Excel Files ( *.txt;*.xlsx;*.xls;*.xlsm), ( *.txt;*.xlsx;*.xls;*.xlsm), All Files, *.*", FilterIndex:=1)
        If fichier_choisi = False Then Exit Sub
        If LCase(Mid(fichier_choisi, InStrRev(fichier_choisi, ".") + 1)) = "txt" Then
            With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & fichier_choisi, Destination:=Range("$A$1"))
                .FieldNames = True
                .PreserveFormatting = True
                .RefreshStyle = xlInsertDeleteCells
                .SaveData = True
                .AdjustColumnWidth = True
                .RefreshPeriod = 0
                .TextFilePromptOnRefresh = False
                .TextFilePlatform = 850
                .TextFileStartRow = 1
                .TextFileParseType = xlDelimited
                .TextFileTextQualifier = xlTextQualifierDoubleQuote
                .TextFileTabDelimiter = True
                .TextFileColumnDataTypes = Array(4, 1)
                .TextFileTrailingMinusNumbers = True
                .Refresh BackgroundQuery:=False
                .Delete
            End With
            With ActiveSheet
                tablo = .UsedRange.Value
                .UsedRange.Clear
                .Range("A:A").NumberFormat = "DD/MM/YYYY"
                .Range("B:B").NumberFormat = "h:mm;@"
                .Cells(1, 1).Resize(UBound(tablo), UBound(tablo, 2)).Value = tablo
            End With
        Else
         Workbooks.OpenText fichier_choisi, local:=True
            Set WB = ActiveWorkbook
            With ActiveSheet
                tablo = .UsedRange.Value
                .UsedRange.Clear
                .Range("B:B").NumberFormat = "h:mm;@"
                .Range("A:A").NumberFormat = "DD/MM/YYYY"
                .Cells(1, 1).Resize(UBound(tablo), UBound(tablo, 2)).Value = tablo
                .UsedRange.Copy Destination:=ThisWorkbook.Sheets(1).Cells(1)    'on rapatrie sur le classeur 1
                Application.DisplayAlerts = False
                ActiveWorkbook.Close
            End With
        End If
        Columns("AE:XX").Delete Shift:=xlToLeft
     
        Range("A1:XX500").Select
        Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
            Columns(3).TextToColumns FieldInfo:=Array(1, 1)
            Columns(4).TextToColumns FieldInfo:=Array(1, 1)
            Columns(5).TextToColumns FieldInfo:=Array(1, 1)
            Columns(6).TextToColumns FieldInfo:=Array(1, 1)
            Columns(7).TextToColumns FieldInfo:=Array(1, 1)
            Columns(8).TextToColumns FieldInfo:=Array(1, 1)
            'I(9) direction vent
            Columns(10).TextToColumns FieldInfo:=Array(1, 1)
            Columns(11).TextToColumns FieldInfo:=Array(1, 1)
            'L(12) direction vent
            Columns(13).TextToColumns FieldInfo:=Array(1, 1)
            Columns(14).TextToColumns FieldInfo:=Array(1, 1)
            Columns(15).TextToColumns FieldInfo:=Array(1, 1)
            Columns(16).TextToColumns FieldInfo:=Array(1, 1)
            Columns(17).TextToColumns FieldInfo:=Array(1, 1)
            Columns(18).TextToColumns FieldInfo:=Array(1, 1)
            Columns(19).TextToColumns FieldInfo:=Array(1, 1)
            Columns(20).TextToColumns FieldInfo:=Array(1, 1)
            Columns(21).TextToColumns FieldInfo:=Array(1, 1)
            Columns(22).TextToColumns FieldInfo:=Array(1, 1)
            Columns(23).TextToColumns FieldInfo:=Array(1, 1)
            Columns(24).TextToColumns FieldInfo:=Array(1, 1)
            Columns(25).TextToColumns FieldInfo:=Array(1, 1)
            'Z(26) c'est quoi ?
            'AA(27) c'est quoi ?
            'AB(28) c'est quoi ?
            Columns(29).TextToColumns FieldInfo:=Array(1, 1)
            Columns(30).TextToColumns FieldInfo:=Array(1, 1)
            Sheets.Add
            ActiveSheet.Name = "Moyenne"
            Sheets.Add
            ActiveSheet.Name = "Graphiquetemperature"
            Sheets.Add
            ActiveSheet.Name = "Graphiquehumidite"
            Sheets.Add
            ActiveSheet.Name = "Graphiquevitessevent"
            Sheets.Add
            ActiveSheet.Name = "Graphiquetransmissiondonnees"
            Sheets.Add
            ActiveSheet.Name = "Graphiquepluie"
            Sheets.Add
            ActiveSheet.Name = "Graphiqueatm"
            Sheets.Add
            ActiveSheet.Name = "GraphiqueCombineTemperature"
            Sheets.Add
            ActiveSheet.Name = "GraphiqueCombineVent"
     
     
    End Sub
    Merci d'avance pour le coup de main
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 415
    Par défaut
    Bonjour,

    Au moment de calculer DernLign, il faut préciser qu'elle se trouve dans la feuille 'Import - Export' (cela à plusieurs endroits du code):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        DerCel = Sheets(sheDonnéesSource).Range("a65536").End(xlUp)(1).Row
    Bonne continuation.

Discussions similaires

  1. [XL-2013] ouverture sheets excel VBA
    Par pacolapin dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/05/2019, 11h06
  2. Réponses: 5
    Dernier message: 20/12/2010, 18h16
  3. blocage à l'ouverture .mdb suite compactage
    Par KAZA51 dans le forum Sécurité
    Réponses: 4
    Dernier message: 01/12/2007, 15h42
  4. Blocage d'Access à l'ouverture d'un fichier .mdb partagé
    Par Iceman8 dans le forum Sécurité
    Réponses: 2
    Dernier message: 08/01/2007, 08h24
  5. Blocage du serveur a l'ouverture d'une table
    Par Génie dans le forum Outils
    Réponses: 1
    Dernier message: 04/10/2006, 15h19

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