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 :

Problème ouverture onglet Excel via VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet automatismes
    Inscrit en
    Juillet 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet automatismes
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2019
    Messages : 2
    Par défaut Problème ouverture onglet Excel via VBA
    Bonjour à tous,

    Je suis nouveau sur le forum, j'ai cherché et trouvé plusieurs poste mais qui ne résous pas mon problème.

    Voici donc mon problème:
    Je souhaite copier des informations que j'ai récupéré dans l'onglet 1 dans l'onglet 2/3/4. Pour cela j'ai crée une boucle car chaque information que contiendra l'onglet 2, 3 ou 4 ne seront pas les même.

    Pour cela j'ai utilisé le code suivant:

    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
     
    Dim f, i, J, K, boucle As Long
    Dim sType As String
    Dim sNumAdd, sTagNameAdd, sTagNameAPI, sTagNameNbAdd, sTypeCarte As String
     
    '======================== Affectation des adresses pour onglet ETOR/STOR/EANA/SANA ========================
    'Définition de l'addresse
    f = 8
    boucle = 0
     
    For boucle = 0 To 4
    '================= Onglet Rack ==============
    With ActiveWorkbook.Sheets("Rack")
            sTagNameAdd = .Cells(f, 9).Value & "." & .Cells(f, 11).Value & "."
            sTagNameNbAdd = .Cells(f, 13).Value
            sTypeCarte = .Cells(f, 14).Value
            f = f + 1
            'Nbonglet = Nbonglet + 1
    End With
     
    '================= Onglet sorties tor ==============
     
    If sTypeCarte = "STOR" Then
        'Ajout des variables de l'onglet Tor-entree et bool
        With ActiveWorkbook.Sheets("Tor-Sorties")
     
        'Ecriture des données (1ère ligne de données = 4)
         i = 4
         J = 0
         K = 0
            While .Cells(i, 3) <> "" And K <= sTagNameNbAdd
                    sTagNameAPI = sTagNameAdd & J
                    Range("G" & i).Select
                    ActiveCell.FormulaR1C1 = sTagNameAPI
                    Range("G" & (i + 1)).Select                        
            i = i + 1
            J = J + 1
            K = K + 1
            Wend
        End With
    End If
    Next
    J'ai utilisé ces fonctions car je me suis dit que ça pouvait fonctionner avec les fonctions que j'utilisais pour créer d'autres fichier dont voici un exemple:
    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
    'Création du fichier PLC TAG
    f = FreeFile
    Open scheminfichier + "PLC Tags" + ".csv" For Output As f
     
    'Ecriture entêtet dans fichier
    Print #f, "Name" & ";" & "Path " & ";" & "Data Type " & ";" & "Logical Address " & ";" & "Comment " & ";" & "Hmi Visible " & ";" & "Hmi Accessible "
     
    '================= Traitement des entrées TOR ==============
     
                'Ajout des variables de l'onglet Tor-entree
                    With ActiveWorkbook.Sheets("TOR-entree")
     
                     'Paramètre pour onglet
                     sTitre1 = "Table des entrées TOR"
                     sTitre2 = "Bool"
                     sType = "%I"
                     i = 4
     
                     'Boucle tant que contenu colonne A non vide
                     While .Cells(i, 1) <> ""
                     sTagNameAdd = sType & .Cells(i, 7) & "." & .Cells(i, 8)
                     sTagNameAPI = """" & "I_" & .Cells(i, 3).Value & "_" & .Cells(i, 5) & """"
                     sLine = sTagNameAPI & ";" & sTitre1 & ";" & sTitre2 & ";" & sTagNameAdd & ";" & .Cells(i, 6)
                     Print #f, sLine
     
                     i = i + 1
                     Wend
                     End With
    Malheureusement les données que je veux copier ne se font pas dans l'onglet choisi mais dans l'onglet ouvert en cours. Je me doute bien avoir loupé quelque chose malheureusement je n'arrive pas à m'en sortir ni trouvé une solution pour ce que je veux faire et qui me semble simple mais pas tant que ça pour moi!

    Si quelqu'un peut m'aider je lui en serait reconnaissant.
    Cordialement

  2. #2
    Membre Expert Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Par défaut
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Sheet1").Range("A1:B10").Copy Destination:=Sheets("Sheet2").Range("E1")

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet automatismes
    Inscrit en
    Juillet 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet automatismes
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2019
    Messages : 2
    Par défaut
    Citation Envoyé par Zekraoui_Jakani Voir le message
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Sheet1").Range("A1:B10").Copy Destination:=Sheets("Sheet2").Range("E1")
    Bonjour Zekraoui, merci pour l'aide mais ce n'est pas tout à fait ce que je recherche. les données que je récupère dans l'onglet Rack s'enregistre parfaitement cependant je n'arrive pas à ouvrir le nouvel onglet et que ça copie les données voulu.

Discussions similaires

  1. [XL-2010] Problème ouverture fichier excel via workbooks.open
    Par evranger dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/05/2017, 09h03
  2. [AC-2007] Planificateur de tache et Ouverture d'Excel via VBA Access
    Par kan630 dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/11/2013, 14h05
  3. Problème fermeture excel via vba
    Par dav787 dans le forum Général VBA
    Réponses: 1
    Dernier message: 14/03/2013, 17h17
  4. [XL-2003] Ouverture d'excel via Script VBA depuis Access avec Chargement objet de XLSTART
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/12/2009, 18h04
  5. problème de date dans excel via vba.
    Par Bourezak dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/12/2006, 13h39

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