Affecter une valeur à une cellule en vb

Résolu
LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   -  
LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour tout le monde,

je cherche à savoir comment on peut affecter une valeur à une cellule à l'aide de VB.

En gros, quand je suis dans une cellule d'une feuille qui s'appelle "Produits", je voudrais que la macro affecte la valeur 1 à la même cellule de la feuille qui s'appelle "Ventes".

Je suppose qu'on doit avoir quelque chose comme :

Worksheets("Ventes").Référence_de_la_cellule.Value = 1

Et c'est la syntaxe de la référence de cellule qui m'échappe totalement. Je pensais que ça serait simple - et ça l'est peut-être - mais je bloque.

Merci à celles et ceux qui prendront le temps de me répondre !


Windows / Firefox 108.0


Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

8 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     

    Bonjour

    Sheets("Ventes").Range("B3").Value=1

    Cdlmnt

    Via


    0
  2. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     

    Merci via55, mais dans ce cas ça sera toujours la cellule B3, or je veux que ça soit la même cellule que celle de la feuille "appelante".

    B3 si je suis en B3, mais C5 si je suis en C5... Et c'est là que je bloque


    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     

    Bonjour

    Sub bbb()
    Dim ref As String
      ref = Sheets("Produits").ActiveCell.Address
      Sheets("Ventes").Cells(ref) = 1
    End Sub

    actuellement déclenchement  par boutop,

    nous dire si autre méthode de déclenchement

    bonjour Vja, bonne année


    0
  4. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     

    Bonjour Michel et merci,

    mais Cells a l'air de demander des arguments de type RowIndex, ColumnIndex, et le ActiveCell.Address renvoie par exemple $F$22.

    Mais tu m'as mise sur la bonne voie quand même :

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Nligne, NColonne As Integer
      NLigne = ActiveCell.Row
      NColonne = ActiveCell.Column
      Sheets("Ventes").Cells(NLigne, NColonne) = 1
      Cancel = True
    End Sub

    Et ça fonctionne. Merci, donc !

    LatelyGeek


    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     

    Ça marche mais pourquoi faire simple quand on peut faire complqué !...


    0
    1. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
       

      J'ai testé ta solution, mais elle provoquait une erreur...

      Si je laissais le nom de la feuille, le message était "Propriété ou méthode non gérée par cet objet" et Ref était égal à ""

      et si je laissais juste Ref = ActiveCell.Adress c'était "Argument ou appel de procédure incorrect" puisque la valeur de Ref était de type "$B$9"

      J'ai mal fait quelque chose ?

      0
  7. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     

    j'avais testé avant de poster (XL 2007)  et c'était OK....

    bon, si ca marche chez toi, garde ta soluce ;-)

    au passage: bonne année !


    0
    1. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
       

      J'ai 365... Bon, enfin en tout cas c'est grâce à tes lumières que j'ai trouvé une solution, donc encore merci et bonne année à toi aussi !!!

      0
  8. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     

    Et j'ai une dernière question bête : Où est passé le bouton "Marqué comme résolu" ?


    0
  9. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     

    Bonjour à tous,

    michel, j'ai aussi un soucis avec ta syntaxe sur 2021.

    Pour faire plus court :
     

    Sheets("Ventes").Range(ActiveCell.Address) = 1

    Bonnes fêtes de fin d'année à tous
    eric


    0
    1. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
       

      Voilà, je savais qu'il existait une solution simple, élégante et épurée. Merci et bonnes fêtes de fin d'année !

      0