Creer une liaison dns une cellule
Résolu
Bernie15
Messages postés
31
Statut
Membre
-
Bernie15 Messages postés 31 Statut Membre -
Bernie15 Messages postés 31 Statut Membre -
Bonjour,
j'ai une feuille index dans laquelle je voudrais que la valeur de certaines cellules soient liées avec des cellules d'autres feuilles.
par exemple :
la valeur de Index.D3 est = Feuil4.M6
puis Index.D4 = Feuil5.M6
puis Index.D5 = Feuil6.M6
etc... jusqu'à la dernière feuille
Un grand merci d'avance !!!
j'ai une feuille index dans laquelle je voudrais que la valeur de certaines cellules soient liées avec des cellules d'autres feuilles.
par exemple :
la valeur de Index.D3 est = Feuil4.M6
puis Index.D4 = Feuil5.M6
puis Index.D5 = Feuil6.M6
etc... jusqu'à la dernière feuille
Un grand merci d'avance !!!
Configuration: Macintosh / Safari 13.1.2
A voir également:
- Creer une liaison dns une cellule
- Changer dns - Guide
- Créer une adresse hotmail - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une liste déroulante excel - Guide
7 réponses
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à
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 (-:
À+
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
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!!!
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
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
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 !