[VBA Excel]

Bonjour,
J'ai un problème, j'ai trouvé une semi-solution mais sa ne peu pas vraiment fonctionner. J'explique. Le problème viens d'un Userform, en faite quand le clique dans une cellule, je garde les données dans target.address mais le truc c'est que mon userform perd cette information je l'ai donc mise dans une variable je j'ai appelé cel.
La sa fonctionne en partie. Le truc c'est à la fin de mon code j'utilise une ligne genre : Cells(Target.Row, Target.Column - 1).Address mais vu que mon Target.address se trouve dans cel sa ne fonctionne pas.
je voudrais savoir s'il est possible de faire un truc genre
Target.address = cel
Configuration: Windows XP
Firefox 1.5.0.12

6 réponses

  1. Bonjour,

    Le Target est une variable modifiée directement par Excel, tu ne peux pas (enfin je suppose à vrai dire) y toucher.

    Par contre dans ton code pourquoi ne pas utiliser "Range(cel).row" et "Range(cel).column" ?

    PS : Un effort en orthographe serait agréable, merci.
    0
    1. Quand j'utilise un range sur cette ligne :
      Sheets(cel).Range("b4").FormulaLocal = "=prix!" & Range(cel.Row, cel.Column - 2)
      En utilisant cel comme tu me l'a dit cela me fait une erreur sur le Row
      0
      1. Sheets(cel).Range("b4").FormulaLocal = "=prix!" & Range(cel.Row, cel.Column - 2)

        Ici tu utilises deux fois cel, une fois en tant que feuille, une autre fois en tant qu'adresse, cel est une adresse, c'est tout.

        Ta formule doit être :
        Sheets(ta_feuil).Range("B4") = Sheets("prix").Range(cel)


        Ca devrait fonctionner comme ça. Une variable n'a qu'un type.

        Et pour affecter une cellule à une autre, ne t'embête pas avec un "FormulaLocal", il suffit de donner la feuille et la plage comme je l'ai fait ci-dessus.

        En fait... Qu'y a-t-il dans la variable "cel" ? Peux-tu me copier l'affectation que tu y fais ?
        0
        1. fconfirmation.cel = Target.Address

          c'est cette variable qui me pose tous les problèmes
          sinon j'ai utilisé ta ligne en y ajoutant .column - 2 et il y a toujours une erreur
          0
          1. Et la déclaration de ta variable ?

            Qu'est-ce que fconfirmation ? Son type ?

            Si tu ne donnes pas le contexte de ton problème, ni moi ni quelqu'un d'autre ne pourra t'aider.
            0
            1. Bon alors le contexte
              Quand je double clique sur une cellule je fait :

              Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
              fconfirmation.cel = Target.Address
              fconfirmation.Show
              End Sub

              fconfirmation étant un userform contrenant 1 label nommé "cel" et deux bouton Oui et Non

              Quand je clique sur oui je lance le code suivant :

              Public Sub bntoui_Click()
              Me.Hide
              'MsgBox "Vous avez double cliqué sur la cellule " & Target.Address
              Cancel = True
              If FeuilleExiste(ThisWorkbook, cel) Then
              Sheets(cel).Select
              Else
              Sheets.Add.Name = cel
              tableau
              Sheets("Prix").Select
              Range(cel).Select
              ActiveCell.FormulaR1C1 = "='" & cel & "'!R49C7"
              Sheets(cel).Range("B4") = Sheets("prix").Range(cel).Column - 2
              End If
              End Sub

              Et c'est la que trouve les erreurs
              0
              1. Sheets(cel).Select

                Cette ligne ne peut fonctionner, cel n'étant pas une feuille mais l'adresse d'une cellule...

                Peut-être qu'en expliquant ce que doit faire le bouton, je pourrais mieux t'aider, mais il faut déjà corriger cette erreur.
                0