Selection onglet et Variable pour nom xls
Résolu/Fermé
Shana00
Messages postés
87
Date d'inscription
lundi 21 juillet 2014
Statut
Membre
Dernière intervention
14 octobre 2015
-
21 juil. 2014 à 15:12
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 23 juil. 2014 à 08:09
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 23 juil. 2014 à 08:09
A voir également:
- Selection onglet et Variable pour nom xls
- Rouvrir onglet fermé - Guide
- Trouver un nom avec une adresse ✓ - Forum Loisirs / Divertissements
- Nom de l'adresse - Forum Réseaux sociaux
- Téléchargez cette image pour trouver le nom du fichier. il correspond au nom de cette loutre. comment s'appelle-t-elle ? - Forum Windows
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
21 juil. 2014 à 15:47
21 juil. 2014 à 15:47
Bonjour,
Voici un code qui devrait répondre à tes deux questions :
Voici un code qui devrait répondre à tes deux questions :
Sub test() Dim Feuille As Variant For Each Feuille In Array("Feuil1", "Feuil2", "Feuil3") Debug.Print "='[Nom.xls]" & Feuille & "'!R29C17" Next Dim NomFic As String NomFic = Split("E:\Dossier3\Dossier2\Nom.Xls", "\")(UBound(Split("E:\Dossier3\Dossier2\Nom.Xls", "\"))) MsgBox NomFic End Sub
Shana00
Messages postés
87
Date d'inscription
lundi 21 juillet 2014
Statut
Membre
Dernière intervention
14 octobre 2015
21 juil. 2014 à 16:10
21 juil. 2014 à 16:10
Bonjour ,
Merci pour cette réponse rapide .
Je voudrai quelque information sur la boucle car le nombre de feuil n'est pas défini ( j'avoue n'avoir jamais vu de boucle for each mise a par en web avec les tableaux ) j'ai fais des boucle basique jusqu'à maintenant for et DO
J'ai exécuté le code , ça me fait toujours 1 seule ligne mais cette fois sans les valeurs , admettons la j'ai 5 feuille différente et je dois recopier 5 valeur au même endroit de ces 5 feuille différente sur un autre classeur. donc j'ai fais ceci
Je n'ai pas encore mis la fonction pour définir Nom.Xls , j'utilise le vrai nom d'un classeur mais pour éviter les problème je l'ai modifier , j'automatiserai avec ton code une fois que la parti fonctionnera
En tout cas je te remercie infiniment
Cordialement
Merci pour cette réponse rapide .
Je voudrai quelque information sur la boucle car le nombre de feuil n'est pas défini ( j'avoue n'avoir jamais vu de boucle for each mise a par en web avec les tableaux ) j'ai fais des boucle basique jusqu'à maintenant for et DO
J'ai exécuté le code , ça me fait toujours 1 seule ligne mais cette fois sans les valeurs , admettons la j'ai 5 feuille différente et je dois recopier 5 valeur au même endroit de ces 5 feuille différente sur un autre classeur. donc j'ai fais ceci
Sub Macro4()
Dim a As Integer
Dim Feuille As Variant
a = 43
For Each Feuille In Array("Feuil1", "Feuil2", "Feuil3")
Cells(a, 18).Select
Debug.Print "='[Nom.xls]" & Feuille & "'!R29C17"
Cells(a, 19).Select
Debug.Print "='[Nom.xls]" & Feuille & "'!R38C11"
Cells(a, 20).Select
Debug.Print "='[Nom.xls]" & Feuille & "'!R67C14"
Cells(a, 21).Select
Debug.Print "='[Nom.xls]" & Feuille & "'!R67C15"
Cells(a, 23).Select
Debug.Print "='[Nom.xls]" & Feuille & "'!R17C17"
Next
End Sub
Je n'ai pas encore mis la fonction pour définir Nom.Xls , j'utilise le vrai nom d'un classeur mais pour éviter les problème je l'ai modifier , j'automatiserai avec ton code une fois que la parti fonctionnera
En tout cas je te remercie infiniment
Cordialement
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
21 juil. 2014 à 16:15
21 juil. 2014 à 16:15
Debug.Printécrit ce qui le suit dans la fenêtre d'exécution...
Remplace donc par
ActiveCell.FormulaR1C1 =
Ensuite, For each n'était qu'un exemple. A toi à adapter avec ta propre boucle...
Shana00
Messages postés
87
Date d'inscription
lundi 21 juillet 2014
Statut
Membre
Dernière intervention
14 octobre 2015
21 juil. 2014 à 16:24
21 juil. 2014 à 16:24
Cela serai possible d'utiliser
Et remplacer feuille par quelque chose qui permettrai de suivre via par exemple un sheet(i)
Je suis vrai désoler j'ai toujours fais du VBA access objet , d'un seul coup passer sur excel ça change et j'ai perdu mes petit repère
For i = 1 To Sheets.Count
Cells(a, 18).Select
ActiveCell.FormulaR1C1 = "='[Nom.xls]" & Feuille & "'!R29C17"
next i
Et remplacer feuille par quelque chose qui permettrai de suivre via par exemple un sheet(i)
Je suis vrai désoler j'ai toujours fais du VBA access objet , d'un seul coup passer sur excel ça change et j'ai perdu mes petit repère
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
21 juil. 2014 à 16:29
21 juil. 2014 à 16:29
Bien sur que oui.
Supposons que les noms de tes feuilles soient "Sheet1", "Sheet2", "Sheet3" etc... Tu peux écrire comme ceci :
*L'important dans ce code est de différencier le nom en "dur" Sheet (qui de ce fait se retrouve entre les guillemets) et la partie variable de ce nom (qui doit être sortie des guillemets).
Supposons que les noms de tes feuilles soient "Sheet1", "Sheet2", "Sheet3" etc... Tu peux écrire comme ceci :
For i = 1 To Sheets.Count Cells(a, 18).Select ActiveCell.FormulaR1C1 = "='[Nom.xls]Sheet" & i & "'!R29C17" next i
*L'important dans ce code est de différencier le nom en "dur" Sheet (qui de ce fait se retrouve entre les guillemets) et la partie variable de ce nom (qui doit être sortie des guillemets).
Shana00
Messages postés
87
Date d'inscription
lundi 21 juillet 2014
Statut
Membre
Dernière intervention
14 octobre 2015
21 juil. 2014 à 16:35
21 juil. 2014 à 16:35
En faite mon gros problème c'est ça feuil1(SS2) , le feuil1 reste et le SS2 est totalement variable , du coup je voulais me balader dans les feuilles avec un sheet() qui aurai reconnu peu importe le nom de la feuille ( celle qui est entre () )
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
21 juil. 2014 à 16:41
21 juil. 2014 à 16:41
Boudiou, on va y arriver...
On en a profité également pour virer la sélection de cellule inutile...
Dim Feuille As String For i = 1 To Sheets.Count Feuille = Sheets(i).Name Cells(a, 18).FormulaR1C1 = "='[Nom.xls]" & Feuille & "'!R29C17" next i
On en a profité également pour virer la sélection de cellule inutile...