Affecter une valeur à une cellule en vb

Résolu
LatelyGeek Messages postés 1758 Date d'inscription   Statut Membre Dernière intervention   -  
LatelyGeek Messages postés 1758 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


A voir également:

8 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 

Bonjour

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

Cdlmnt

Via


0
LatelyGeek Messages postés 1758 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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 

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
LatelyGeek Messages postés 1758 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

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

Posez votre question
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 

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


0
LatelyGeek Messages postés 1758 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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 

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
LatelyGeek Messages postés 1758 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
LatelyGeek Messages postés 1758 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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 

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
LatelyGeek Messages postés 1758 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