Onglet et valeur cellule

Résolu
Bonjour,

Voila je cherche à remplacer dans ma macro le numero de l'onglet par une valeur de cellule
exemple
Worksheets(5)
J'aimerai plutôt ecrire dans ma macro :
Worksheets(valeur cellule de la colonne à gauche)
je précise que l'on nom de l'onglet porte le meme nom que le texte de la cellule

SVP quelqu'un peut m'aider ?

7 réponses

  1. Merci Eric c'est cool...
    Bonne fin de semaine et encore un grand merci

    Grace à vous, de jour en jour mon ignorance s'éloigne. Cela laisse plus de place à la bétise.Merci Merci
    0
    1. Contributeur
      Bonjour,

      Sur colonne B et ligne >1 :
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
          If Not Intersect(Target, [B:B]) Is Nothing And Target.Row > 1 And Target <> "" and target.count = 1 Then ma_macro
      End Sub 

      eric

      En essayant continuellement, on finit par réussir.
      Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
      En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
      0
      1. merci Gyrus

        c 'est bien le code que je recherche mais il fonctionne pas....il ne supprime pas la feuille!

        Voici la solution : j'ai viré ".cells"

        Worksheets(ActiveCell.Offset(0, -1).Value).Delete


        j'ai une autre énigme si tu veux bien m'aider....

        si je clique sur une cellule et qu'il y a du texte je voudrais déclencher une macro et si la cellule est vide ne rien faire....ca existe ca?
        0
        1. Je ne comprends pas.
          Tu as 350 feuilles à effacer ?

          S'il s'agit simplement d'effacer la feuille dont le nom est à gauche de la cellule active, tu peux te contenter de
          Worksheets(ActiveCell.Offset(0, -1).Value).Cells.Delete


          A+
          0
          1. ca l'air bien ca mais toujours coincé avec ce ""A1"

            For Each onglet In Worksheets
            If onglet.Name = Range("A1") Then
            onglet.Delete
            Exit Sub
            End If
            Next
            0
            1. merci gyrus pour ton aide

              c 'est tout a fait dans ce sens la mais j'ai 350 ligne et il me faudrait qu'une seule macro!

              en fait .range ("a1") = j'aimerai plutôt ecrire (cellule à gauche de la cellule active)

              comme par exemple (activeCell, Cell.Offset(0, -1).value

              un truc dans ce genre!!!!on y est presque lol

              i =  Cell.Offset(0, -1).
              Worksheets(i).Delete
              0
              1. Bonjour,

                Un exemple :

                Sub Test()
                Dim NomFeuille As String
                NomFeuille = Worksheets("Feuil1").Range("A1").Value
                Worksheets(NomFeuille).Activate
                End Sub


                A+
                0