Écriture Macro ou Instruction VBA

Résolu
PatPR971 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
Pierre1310 Messages postés 8854 Statut Membre -
Bonjour à tous
Je travaille sur une feuille excel avec des zones deroulantes en "contrôle de Formulaires" pour sélectionner un enregistrement d'un onglet différent sur la même feuille Excel.
Une fois sélectionnée la cellule liée me donne une valeur correspondante à la ligne de l'enregistrement. Je souhaite me positionner directement sur la ligne de cet onglet sur une colonne bien précise (C) et modifier de façon automatique en incluant une valeur (Date du jour)
Quelqu'un pourrait il me dire si cela est possible et comment ?

Merci d'avance
Patrice débutant en VBA

2 réponses

  1. Ant049 Messages postés 157 Statut Membre 22
     
    Bonjour à toi,

    Le plus simple serait de joindre un fichier exemple.

    Merci
    0
    1. PatPR971 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour

      Je débute sur ce site .... Comment joindre mon fichier Exemple ?
      0
    2. PatPR971 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   > Ant049 Messages postés 157 Statut Membre
       
      Fichier TEST envoyé
      0
    3. Ant049 Messages postés 157 Statut Membre 22
       
      Bonjour,

      J'ai essayé de comprendre ce que tu veux faire mais ce n'est pas très clair.
      Du coup, si tu veux déclencher cette action, tu dois créer un code dans ton CommandButton et mettre un code de ce type:

      Définition de la valeur de ta cellule liée dans une variable
      Var1 = Sheets("Portail").Cells(?,?).Value
      Déplacement dans l'onglet et dans la cellule A2
      Sheets("Emprunts").Activate
      Cells(2,1).Select
      Tant que la cellule n'est pas égale à Var1, descendre d'une ligne
      Do while not ActiveCell.Value = Var1
      Selection.Offset(1,0).Select
      Loop
      Décalage sur la cellule de la colonne C
      Selection.Offset(0,2).Select
      Définition de la date du jour pour cette cellule
      ActiveCell.Value = Date
      0
  2. Pierre1310 Messages postés 8854 Statut Membre 652
     
    Salut,

    Pour utiliser une autre feuille, il faut utiliser :
    sheet("nom de feuille")


    Après pour ligne/colonne, tout dépend de comment elle est déterminée.
    cells(1,2) 
    avec 1 pour la ligne et 2 pour la colonne.
    0
    1. PatPR971 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour
      Et avec "cells" est ce que je peux affecter directement la ligne issue de ma liste déroulante ?
      Exemple : je choisis un enregistrement de mon onglet Bibliothèque, la ligne 6 par exemple, j'affiche mes éléments dans une requête INDEX et je veux par Macro directement affecter la cellule C6 pour marquer l'indisponibilité de cet ouvrage. Cette colonne dépendra donc de ma première sélection dans ma liste déroulante ... l'idéal serait de trouver une instruction pour modifier C&Cellule liée
      0
    2. Pierre1310 Messages postés 8854 Statut Membre 652
       
      Tu ne peux pas travailler sur une ligne entière mais bien sur sur ligne/colonne d'une autre feuille.
      0
    3. PatPR971 > Pierre1310 Messages postés 8854 Statut Membre
       
      Mais comment écrire l'instruction VBA pour préciser que ma modifications se fera en Colonne C et ligne = à la valeur du lien ?
      0
    4. Pierre1310 Messages postés 8854 Statut Membre 652
       
      Il y a une donnée spécifique dedans?
      Tu peux lui dire physiquement l'endroit si il ne change jamais, sinon tu peux créer une boucle pour qu'il balaye et qu'il la retienne quand il passe dessus.
      0
    5. PatPR971 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   > Pierre1310 Messages postés 8854 Statut Membre
       
      Bonjour

      Merci Pierre et ANT049,
      Mon problème est résolu, je l'ai contourné en modifiant le WHILE , à chaque passage, je descends d'une ligne et décrémente sa valeur de 1 et ça marche en testant tant que Var1 >0

      Encore merci vous
      Comme quoi, on apprends à tout âge
      0