Microsoft 365 Offset

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Roro1313

XLDnaute Nouveau
Bonsoir,

J’ai une feuille de calcul SHEET, avec des données dans la colonne A:A en feuille 1

J’aimerai les déplacer en feuille 2 avec une condition particulière :

-En A1 feuille 2 j’aimerai avoir : A1 en feuille 1

-En A18 (+17) feuille 2 : A2 en feuille 1

-En A35 (+17) feuille 2 : A3 en feuille 1

-En A52 (+17) feuille 2 : A4 en feuille 1

Etc…

(le but serait de pouvoir étirer la formule)

J’ai pensé à une formule OFFSET, mais j’ai rien réussi à concrétiser.

Si un passionné veut bien m’aider je serai fortement reconnaissant !!!

C’est la formule qui manque à la finalité d’un projet

Merci d’avance
 
Bonsoir,

J’ai une feuille de calcul SHEET, avec des données dans la colonne A:A en feuille 1

J’aimerai les déplacer en feuille 2 avec une condition particulière :

-En A1 feuille 2 j’aimerai avoir : A1 en feuille 1

-En A18 (+17) feuille 2 : A2 en feuille 1

-En A35 (+17) feuille 2 : A3 en feuille 1

-En A52 (+17) feuille 2 : A4 en feuille 1

Etc…

(le but serait de pouvoir étirer la formule)

J’ai pensé à une formule OFFSET, mais j’ai rien réussi à concrétiser.

Si un passionné veut bien m’aider je serai fortement reconnaissant !!!

C’est la formule qui manque à la finalité d’un projet

Merci d’avance
Bonsoir,
En cellule A1 de la Feuil2 :
VB:
=INDIRECT("Feuil1!A" & LIGNE(A1)+(LIGNE(A1)-1)*16)
à tirer vers le bas
Cordialement
 
Bonsoir.
Si vous propagez la formule cherchée en A1 sur les lignes suivantes, que voulez vous qu'elle vaille si elle n'est pas sur une ligne de numéro 17 * N + 1 ?
Pour un texte vide c'est, en Feuil2:A1 :
Code:
=SI(MOD(LIGNE();17)=1;DECALER(Feuil1!$A$1;(LIGNE()-1)/17;0);"")
 
Bonjour à tous,

Voyez cette macro :
VB:
Sub Offset()
Dim F1 As Worksheet, F2 As Worksheet, tablo1, ub1&, ub2&, tablo2, nf$, i&, j&
Set F1 = Sheets("Feuil1")
Set F2 = Sheets("Feuil2")
tablo1 = F1.Range("A1", F1.Cells(F1.Rows.Count, 1).End(xlUp))
ub1 = UBound(tablo1)
ub2 = Application.Min(1 + 17 * (ub1 - 1), F2.Rows.Count)
tablo2 = F2.Columns(1).Resize(ub2).Formula
nf = F1.Name
For i = 1 To UBound(tablo1)
    j = 1 + 17 * (i - 1)
    If j <= ub2 Then tablo2(j, 1) = "='" & nf & "'!A" & i
Next
F2.Columns(1).Resize(ub2) = tablo2
End Sub
Elle crée des formules de liaison en Feuil2.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
1 K
Réponses
2
Affichages
1 K
Réponses
0
Affichages
1 K
Retour