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:
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:
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