Pb de reprise de cellules d'un nouvel onglet

Bonjour le forum, bonjour à toutes et tous !!

Petit pb lorsque je lance ma macro

Un nouvel onglet se créé tel que je le souhaite [OK]

Une nouvelle ligne se créée (sur la page sommaire) tel que je le souhaite [OK]

Ma macro reprend les valeurs des cellules du nouvel onglet MAIS juste leurs valeurs ....

alors que je souhaite qu'elles contiennent la formule menant à leurs cellules respectives

l'erreur se produit sur cette ligne (et par conséquent les autres sont fausses aussi) :

ActiveCell.Formula = Sheets(Sheets.Count).Range("B3")

j'ai tenté ActiveCell.FormulaR1C1 = "= Sheets(Sheets.Count).Range(""B3"")"

et ActiveCell.Formula = "= Sheets(Sheets.Count).Range(""B3"")"

sans grand succès

et vu que j'ajoute une ligne à chaque fois je ne vois pas comment utiliser "RC[+/-]"

merci de votre précieuse aide

ci dessous mon code

Sub NvlFC()

    Sheets("FicheType").Select
    Cells.Select
    Selection.Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Paste
    ActiveWindow.DisplayGridlines = False
    ActiveWindow.DisplayHeadings = False

    Sheets("SOMMAIRE").Select

   For ligne = 1 To 100

        If Left(Sheets("SOMMAIRE").Cells(ligne, 1), 21) = "Liste des accessoires" Then
        Rows(ligne - 2).Select
        End If

    Next

    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    ActiveCell.Select
    ActiveCell.Formula = Sheets(Sheets.Count).Range("B3") 
     'reprend bien la valeur de B3 mais je souhaite que dans ma cellule apparaisse "=FeuilXX!B3'"   FeuilXX étant le nouvel onglet créé.
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Formula = Sheets(Sheets.Count).Range("B12") 'idem
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Formula = Sheets(Sheets.Count).Range("B13") 'idem
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Formula = Sheets(Sheets.Count).Range("E14") 'idem

    Range("A1").Select

End Sub

Bonjour

as tu essayé comme ceci :

 ActiveCell.FormulaR1C1

crdlt,

EDIT: arf non je ne pense pas

André

Bonjour

Peut-être ceci:

Selection.Replace What:="nom feuille origine", Replacement:="nom nouvelle feuille",LookAt:=xlPart

Tu sélectionnes les cellules où tu dois modifier la formule, puis tu fais ce qui est ci-dessus

Je pense ???

A+

Bonjour Patty5046, Andre13

merci de vos réponses,

pour plus d'explications

Une fois l'onglet copier à l'identique (macro OK)

Je souhaite que pour chaque cellule (Ax, Bx, Cx...) de ma nouvelle ligne qui vient d'être insérée sur la page "Sommaire" (macro OK)

'x étant le N° de cette nouvelle ligne

les cellules récupèrent les données du nouvel onglet (de certaines cellules) mais sous forme de "formule" et non juste une importation

autrement dit

je souhaite que lorsqu'on clique dans l'une des cellules de la nouvelle ligne (onglet "Sommaire") on y retrouve non pas du texte mais la référence à la cellule du nouvel onglet créé ex: "=FeuilXX!A1'" FeuilXX étant le nouvel onglet créé.

je sais pas si c'est un peu plus clair...

je vous joins un extrait de mon fichier pour que vous exécutiez la macro et que vous puissiez faire la différence entre ma première ligne (ce que je souhaite après que j'ai lancé ma macro, voir la formule faisant référence à une cellule) et ce que j'obtiens dans les cellules de la nouvelle ligne (texte uniquement).

merciiiiii

3copie.xlsm (25.57 Ko)

Re bonjour,

il faudrait en fait une sorte de :

 
    ActiveCell.Select
    ActiveCell.FormulaR1C1 = "=FeuilXX!R3C2"     'sauf que je ne sais pas comment remplacer le FeuilXX par le dernier onglet créé
   'pour obtenir une sorte de "= Sheets(Sheets.Count).Range(""B3"")" (ce qui ne fonctionne pas)

    ActiveCell.Offset(0, 1).Select
    ActiveCell.FormulaR1C1 = "=FeuilXX!R12C2"  'ainsi de suite

Merciiiii

Bonjour le Forum,

J'ai finalement réussi par trouver !!!

Cela a été un peu laborieux mais avec toutes les infos sur internet et en cumulant le tout ça donne cela (tout simplement) !

    Dim i As Integer
    For i = 1 To Sheets.Count
    lien = Sheets(i).Name
    Next i

ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=Feuil" & i & "!R13C2"

Pour info, vous retrouverez donc le fichier en question ICI ==> https://www.excel-pratique.com/fr/telechargements/outils-de-gestion/location-deguisements-excel-no332.php

NB/ le (i) n'étant pas ma première feuille et dans l'hypothèse qu'une ou plusieurs feuilles soit ajoutées et/ou supprimées, il y a une différence qui se fait : entre le compteur (N° de feuille à créé) et le Nbr de feuille dans le fichier. Il faut en tenir compte !

Le code complet est dans mon fichier.

A+

Rechercher des sujets similaires à "reprise nouvel onglet"