Creer une liaison dns une cellule
Résolu/Fermé
Bernie15
Messages postés
31
Date d'inscription
mercredi 5 août 2020
Statut
Membre
Dernière intervention
26 février 2021
-
10 août 2020 à 20:28
Bernie15 Messages postés 31 Date d'inscription mercredi 5 août 2020 Statut Membre Dernière intervention 26 février 2021 - 12 août 2020 à 14:19
Bernie15 Messages postés 31 Date d'inscription mercredi 5 août 2020 Statut Membre Dernière intervention 26 février 2021 - 12 août 2020 à 14:19
A voir également:
- Creer une liaison dns une cellule
- Dns google - Guide
- Créer une liste déroulante excel - Guide
- Créer une adresse hotmail - Guide
- Créer un compte gmail - Guide
- Créer un compte google - Guide
7 réponses
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
11 août 2020 à 11:00
11 août 2020 à 11:00
Bonjour,
a mettre dans un module et associer à un bouton ou raccourci clavier:
Voilà
a mettre dans un module et associer à un bouton ou raccourci clavier:
Option Explicit Sub test() 'Déclare la variable objet Worksheet Dim Ws As Worksheet Dim ligne As Integer 'feuille INDEX Dim i As Integer ligne = 3 i = 3 'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris 'en compte. 'ThisWorkbook correspond à l'objet classeur contenant la macro For Each Ws In ThisWorkbook.Worksheets If Ws.Name <> "INDEX" Then Sheets("INDEX").Range("D" & ligne).FormulaR1C1 = "=" & Ws.Name & "!R[" & i & "]C[9]" 'formule ligne = ligne + 1 i = i - 1 End If Next Ws End Sub
Voilà
Bernie15
Messages postés
31
Date d'inscription
mercredi 5 août 2020
Statut
Membre
Dernière intervention
26 février 2021
11 août 2020 à 17:34
11 août 2020 à 17:34
merci pour la réponse, j'essaie dès que j'ai 5 minutes !
Merci
Merci
Bernie15
Messages postés
31
Date d'inscription
mercredi 5 août 2020
Statut
Membre
Dernière intervention
26 février 2021
11 août 2020 à 17:57
11 août 2020 à 17:57
Génial, ça marche super et je viens d'apprendre beaucoup !!!
Maintenant, je vais tenter d'ajouter d'autres liaisons, encore une bonne soirée en vue (-:
À+
Maintenant, je vais tenter d'ajouter d'autres liaisons, encore une bonne soirée en vue (-:
À+
Bernie15
Messages postés
31
Date d'inscription
mercredi 5 août 2020
Statut
Membre
Dernière intervention
26 février 2021
11 août 2020 à 18:53
11 août 2020 à 18:53
Bon, j'ai rajouté 2 liaisons à ta macro
Feuil4.M17 vers Index.F3 et
Feuil4.E20 vers Index.H3
et en tâtonnant, voilà la macro
Elle fonctionne, mais je ne comprends pas vraiment les 2 IF que j'ai rajoutés qui calculent la liaison..
Il n'y a pas plus simple ?
P.S. : j'ai rajouté And Ws.Name <> "Model" And Ws.Name <> "Listes" car dans la réalité j'ai ces 2 feuilles en plus.
Enfin, ça marche, mais si je pouvais simplifier et/ou comprendre, ce serait le TOP
Feuil4.M17 vers Index.F3 et
Feuil4.E20 vers Index.H3
et en tâtonnant, voilà la macro
Option Explicit Sub test() 'Déclare la variable objet Worksheet Dim Ws As Worksheet Dim ligne As Integer 'feuille INDEX Dim i As Integer ligne = 3 i = 3 'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris 'en compte. 'ThisWorkbook correspond à l'objet classeur contenant la macro For Each Ws In ThisWorkbook.Worksheets If Ws.Name <> "Index" And Ws.Name <> "Model" And Ws.Name <> "Listes" Then Sheets("INDEX").Range("D" & ligne).FormulaR1C1 = "=" & Ws.Name & "!R[" & i & "]C[9]" End If If Ws.Name <> "Index" And Ws.Name <> "Model" And Ws.Name <> "Listes" Then Sheets("INDEX").Range("F" & ligne).FormulaR1C1 = "=" & Ws.Name & "!R[" & i + 11 & "]C[7]" End If If Ws.Name <> "Index" And Ws.Name <> "Model" And Ws.Name <> "Listes" Then Sheets("INDEX").Range("H" & ligne).FormulaR1C1 = "=" & Ws.Name & "!R[" & i + 14 & "]C[-3]" ligne = ligne + 1 i = i - 1 End If Next Ws End Sub
Elle fonctionne, mais je ne comprends pas vraiment les 2 IF que j'ai rajoutés qui calculent la liaison..
Il n'y a pas plus simple ?
P.S. : j'ai rajouté And Ws.Name <> "Model" And Ws.Name <> "Listes" car dans la réalité j'ai ces 2 feuilles en plus.
Enfin, ça marche, mais si je pouvais simplifier et/ou comprendre, ce serait le TOP
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
11 août 2020 à 19:50
11 août 2020 à 19:50
cela n'est pris que dans le dernier If !!!
c'est donc inutile, ce n'est valable que pour la colonne D !!!
Feuil4.M17 vers Index.F3 et
Feuil4.E20 vers Index.H3
pour cela une macro est inutile, autant le faire manuellement!!!
ligne = ligne + 1 i = i - 1
c'est donc inutile, ce n'est valable que pour la colonne D !!!
Feuil4.M17 vers Index.F3 et
Feuil4.E20 vers Index.H3
pour cela une macro est inutile, autant le faire manuellement!!!
Bernie15
Messages postés
31
Date d'inscription
mercredi 5 août 2020
Statut
Membre
Dernière intervention
26 février 2021
11 août 2020 à 20:16
11 août 2020 à 20:16
Bon, ben.... avec 110 onglets créés, ta formule ne fonctionne pas )-:
J'abandonne, je lierai les cellules à la main, ça va que je n'en ai pas 10.000 (-:
Bonne soirée !
J'abandonne, je lierai les cellules à la main, ça va que je n'en ai pas 10.000 (-:
Bonne soirée !
Bernie15
Messages postés
31
Date d'inscription
mercredi 5 août 2020
Statut
Membre
Dernière intervention
26 février 2021
11 août 2020 à 22:48
11 août 2020 à 22:48
mais ce qui est fou, c'est que, avec seulement 32 onglets créés, elle fonctionne parfaitement.
Je capitule, je ne comprends pas
Je capitule, je ne comprends pas
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
12 août 2020 à 11:45
12 août 2020 à 11:45
J'ai essayer de reproduire ton cas.
j'ai ajouter 110 feuilles
J'ai rempli la cellule M6 des 110 feuille et j'ai lancer la macro formule et cela fonctionne!
faire l'essai avec un classeur vierge contenant 3 feuilles INDEX,Model et Listes
Voilà
@ + Le Pivert
j'ai ajouter 110 feuilles
J'ai rempli la cellule M6 des 110 feuille et j'ai lancer la macro formule et cela fonctionne!
Option Explicit Sub ajout() 'ajout de 110 feuilles Dim i As Integer For i = 1 To 110 ActiveWorkbook.Sheets.Add After:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count) Next End Sub Sub formule() 'ajout formule 'Déclare la variable objet Worksheet Dim Ws As Worksheet Dim ligne As Integer 'feuille INDEX Dim i As Integer ligne = 3 i = 3 'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris 'en compte. 'ThisWorkbook correspond à l'objet classeur contenant la macro For Each Ws In ThisWorkbook.Worksheets If Ws.Name <> "INDEX" And Ws.Name <> "Model" And Ws.Name <> "Listes" Then Sheets("INDEX").Range("D" & ligne).FormulaR1C1 = "=" & Ws.Name & "!R[" & i & "]C[9]" ligne = ligne + 1 i = i - 1 End If Next Ws End Sub Sub remplir() 'remplir la cellule M6 de toutes les feuilles Dim Ws As Worksheet For Each Ws In ThisWorkbook.Worksheets If Ws.Name <> "Index" And Ws.Name <> "Model" And Ws.Name <> "Listes" Then Sheets(Ws.Name).Range("M6") = "1234567890" End If Next Ws End Sub
faire l'essai avec un classeur vierge contenant 3 feuilles INDEX,Model et Listes
Voilà
@ + Le Pivert
Bernie15
Messages postés
31
Date d'inscription
mercredi 5 août 2020
Statut
Membre
Dernière intervention
26 février 2021
12 août 2020 à 14:19
12 août 2020 à 14:19
J'ai résolu mon souci.
Les feuilles étaient créées à partir d'une liste qui venait d'un vieux fichiers.
J'avais simplement fait un copier-coller et certainement qu'il y avait des incompatibilités entre la vieille version Excel sur un PC et ma version récente Excel sur Mac.
Merci pour vos macros, votre temps et vos réponses rapides.
Je ne dis pas "à bientôt" ????????, mais je suis tellement novice...
Bonne journée !
Les feuilles étaient créées à partir d'une liste qui venait d'un vieux fichiers.
J'avais simplement fait un copier-coller et certainement qu'il y avait des incompatibilités entre la vieille version Excel sur un PC et ma version récente Excel sur Mac.
Merci pour vos macros, votre temps et vos réponses rapides.
Je ne dis pas "à bientôt" ????????, mais je suis tellement novice...
Bonne journée !