Référencer cellule à partir d'une feuille qui vient d'être crée

Salut,

En cliquant sur une/des cellule dans la colonne "DRAWING NUMBER" et ensuite sur le bouton "CRÉER FEUILLE" ça me créer le nom des feuille par rapport à ceux que j'ai sélectionné.

Dans la feuille "DRAWING NUMBER" j'aimerais que le "UNIT PRICE" corresponde à la cellule "R30" du/des nouvelle feuille créer.

Voici le fichier excel.

Je ne pense pas que c'est possible avec une formule mais avec le code, j'ai déjà le nom de chaque cellule que j'ai sélectionner mais je manque de connaissance.

Merci!

Sub creer_feuille()

    Dim nom As String, C As Range
    For Each C In Selection
        nom = C.Value
        If nom <> "" Then
            Sheets("MODÈLE").Copy after:=Worksheets(Worksheets.Count)
            Range("A1").Value = nom
            ActiveSheet.Name = nom
        End If
    Next C

End Sub

Hello !

À écrire en E4 de DRAWING NUMBERS :

=SIERREUR(INDIRECT("'"&D4&"'!R30";VRAI);"n'existe pas")

Salut,

Wow, en plein ce qu'il me fallait!

Merci!

Arf, on fait c'qu'on peut!

Par contre, tu n'as aucune gestion d'erreur si jamais la feuille existe déjà. Peut-être une piste d'amélioration 😉

Re,

J'vais y réfléchir mais je ne pense pas que ça peut arriver! (dans mon cas spécifique)

Salut,

Est-ce possible de marquer dans une autre feuille, à partir du code dans mon premier post, chaque valeur créer une à la suite de l'autre (dans des cellule prédéfinie)

*Exemple*

  • Je crée 6 feuilles
  • Les valeur se retrouve dans la feuille "MODÈLE" cellule C:10 à C:15

Merci.

Bonjour,

J'ai bien peur de ne pas comprendre ce que tu demandes. N'hésite pas à poster un fichier représentatif.

Salut,

Désolé, je tente de m'expliquer mieux.

Dans "DRAWING NUMBER" je sélectionne D4:D9 ensuite je clique créer feuille -> ça me crée toutes les feuille avec leur nom.

J'aimerais que toute les feuilles crée, donc le texte dans les cellule D4:D9, soit transférer dans la feuille "Feuil1" dans les cellules B2:B7

Sub creer_feuille()

    Dim nom As String, C As Range
    For Each C In Selection
        nom = C.Value
        If nom <> "" Then
            Sheets("MODÈLE").Copy after:=Worksheets(Worksheets.Count)
            Range("A1").Value = nom
            ActiveSheet.Name = nom
        End If
    Next C

End Sub

Voici le fichier excel.

Merci.

Bonjour,

À priori comme ça je ne vois pas trop à quoi cela sert, mais le code suivant devrait faire l'affaire :

Sub creer_feuille() 'CRÉE DES NOUVELLE FEUILLES NOMMÉES À PARTIR DES CELLULES SÉLECTIONNÉES

    Dim nom As String, C As Range
    For Each C In Selection 'ThisWorkbook.Worksheets("QUOTATION").Range("QUOTATION[DRAWING NUMBER]")
        nom = C.Value
        If nom <> "" Then
            Sheets("MODÈLE").Copy after:=Worksheets(Worksheets.Count) 'Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
            Range("A1").Value = nom
            Feuil3.Range("B" & Feuil3.Range("B100").End(xlUp).Row).Offset(1, 0).Value = nom
            ActiveSheet.Name = nom
        End If
    Next C

End Sub

En sachant que ce que tu as nommé "feuil1" est en fait la feuil3 pour Excel.

Re,

C'est pour que tout s'automatise! Désolé je ne peux pas t'envoyer le vrai fichier excel.

Encore une fois merci!

Peux-tu m'expliquer pourquoi il commence à écrire à la ligne 2 et non à la ligne 1 s.v.p?

Parce que tu me l'as demandé ?

J'aimerais que toute les feuilles crée, donc le texte dans les cellule D4:D9, soit transférer dans la feuille "Feuil1" dans les cellules B2:B7

Re,

Oui mais je parle du code haha

J'aimerais comprendre pourquoi.

Est-ce que c'est à cause de

Offset(1, 0)

Merci.

Re,

Si ça peut aider quelqu'un d'autres j'ai modifier le nom de feuille

Worksheets("QUOTATION").Range("B" & Worksheets("QUOTATION").Range("B100").End(xlUp).Row).Offset(1, 0).Value = nom

Ahah, oui c'est ça.
Offset, ça décale.

.offset(nombre de lignes, nombre de colonnes)

Le code que je t'ai donné n'est pas l'idéal je pense, je ne suis pas un professionnel. Mais si tu ne sélectionnes pas toutes tes données, ça ne copiera vraiment que celles que tu viens de créer.

.offset(nombre de lignes, nombre de colonnes)

Ok merci!

Le code que je t'ai donné n'est pas l'idéal je pense, je ne suis pas un professionnel. Mais si tu ne sélectionnes pas toutes tes données, ça ne copiera vraiment que celles que tu viens de créer.

C'est parfait, c'est exactement ce que je veux. Mon boss va choisir les drawing number qu'il veux et non pas toutes la liste.

Un peu plus propre

Sub creer_feuille() 'CRÉE DES NOUVELLE FEUILLES NOMMÉES À PARTIR DES CELLULES SÉLECTIONNÉES

    Dim f_calcul As Worksheet
    Set f_calcul = Sheets("QUOTATION")
    Dim nom As String, C As Range
    For Each C In Selection 'ThisWorkbook.Worksheets("QUOTATION").Range("QUOTATION[DRAWING NUMBER]")
        nom = C.Value
        If nom <> "" Then
            Sheets("MODÈLE").Copy after:=Worksheets(Worksheets.Count) 'Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
            Range("A1").Value = nom
            f_calcul.Range("B" & f_calcul.Range("B100").End(xlUp).Row).Offset(1, 0).Value = nom '.offset(nombre de lignes, nombre de colonnes)
            ActiveSheet.Name = nom
        End If
    Next C

End Sub
Rechercher des sujets similaires à "referencer partir feuille qui vient etre cree"