Partager via

VBA Reprendre la valeur d'une cellule automatiquement !

Anonyme
2024-03-27T11:10:39+00:00

Bonjour,

Je reviens vers vous pour un nouveau blocage de ma part sur VBA.

J'ai deux feuilles (Feuil1 et Feuil2). Dans la Feuil1 j'ai créé un tableau. Dans la Feuil2 je saisis une donnée que je veux ajouter dans le tableau de la Feuil1.

Exemple : Dans mon tableau Feuil1 j'ai un numéro de document (dans une cellule) et sur la même ligne j'ai d'autres informations sur ce même document.

Dans ma Feuil2 je renseigne le numéro identique du document (pour la ligne sur laquelle je souhaite modifier les données) et la cellule à côté du numéro me sert pour renseigner un nombre de jours.

J'aimerais faire en sorte que, lorsque le numéro de document que je renseigne dans la Feuil2 est identique à celui de la Feuil1 et que je rentre un nombre de jours (toujours Feuil2), celui-ci change automatiquement sur la cellule désignée de la Feuil1.

J'ai réussi à faire en sorte que lorsque que je lance l'action sur VBA cela fonctionne comme je le souhaite, je voudrais juste que cela se fasse sans que j'aie besoin de retourner dans VBA et relancer l'action à chaque fois (si possible ne pas utiliser un bouton à actionner non plus) !

C'est peut-être un peu fouillis comme ça, si vous avez besoins d'autres précisions pour comprendre, demandez-moi !

Cordialement

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

3 réponses

  1. Anonyme
    2024-03-27T17:22:25+00:00

    Alors, vouliez-vous de l’aide supplémentaire aujourd’hui ?

    Sinceres salutations Deeksha

    Cette réponse a été traduite automatiquement. Par conséquent, il peut y avoir des erreurs grammaticales ou des expressions étranges.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2024-03-27T16:30:24+00:00

    Je vous remercie pour la réponse apporter. Je ne connait pas encore assez bien le langage VBA, ce qui ne me permet pas de retranscrire correctement votre programme. Je ne peut par conséquent le tester.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2024-03-27T11:46:56+00:00

    Bonjour, je suis un utilisateur de Microsoft tout comme vous et je ferai de mon mieux pour vous aider autant que possible aujourd’hui.

    Pour ce faire, à l’aide de VBA, vous pouvez utiliser l’événement Worksheet_Change pour mettre à jour la cellule dans la feuille 1 lorsqu’une modification est apportée dans la feuille 2.

    Essayez ceci :

    Sous-Worksheet_Change privé (cible ByVal en tant que plage) Dim ws1 en tant que feuille de calcul, ws2 en tant que feuille de calcul Dim rng1 As Plage, rng2 As Plage Dim docNum en tant que variante, jours en tant que variante Cellule de gradation en tant que plage

    ' Définir les feuilles de calcul Set ws1 = ThisWorkbook.Sheets(« Feuille1 ») Set ws2 = ThisWorkbook.Sheets(« Feuille2 »)

    ' Définir les plages Définissez rng1 = ws1. Range(« A :A ») ' Ajustez la plage à la colonne de votre numéro de document dans Sheet1 Définissez rng2 = ws2. Range(« A :A ») ' Ajustez la plage à la colonne du numéro de votre document dans Sheet2

    ' Vérifiez si la cellule modifiée se trouve dans la feuille 2 et dans la colonne du numéro de document Si ce n’est pas intersect(target, rng2) n’est rien alors ' Obtenir le numéro et les jours du document docNum = Valeur_Cible jours = Target.Offset(0, 1). Valeur ' Ajuster le décalage à la colonne jours dans Sheet2

    ' Rechercher le numéro du document dans la feuille 1 Définir cellule = rng1. Rechercher(Quoi :=docNum, Regarder :=xlEntier)

    ' Si le numéro de document est trouvé, mettez à jour les jours dans la feuille 1 Si ce n’est pas la cellule, alors cellule. Décalage(0, 1). Valeur = jours ' Ajustez le décalage à la colonne dans laquelle vous souhaitez mettre à jour les jours dans la feuille 1 Fin de si Fin de si Sous-marin d’extrémité

    Comment l’ajouter :

    Ouvrez Excel : Ouvrez votre classeur Excel. Ouvrez l’éditeur VBA : Appuyez sur ALT + F11 pour ouvrir l’éditeur VBA. Insérer un module : Cliquez avec le bouton droit de la souris sur n’importe quel projet existant ou sur le nom du classeur dans le volet gauche > Insérer > module. Collez le code VBA : Copiez et collez le code VBA ci-dessus dans la fenêtre du module. Fermer l’éditeur VBA : Fermez l’éditeur VBA.

    Voyez si cela peut vous aider ! N’hésitez pas à nous contacter si vous avez des questions. Le support Microsoft est disponible pour obtenir de l’aide si le problème persiste.

    Sinceres salutations Deeksha

    Cette réponse a été traduite automatiquement. Par conséquent, il peut y avoir des erreurs grammaticales ou des expressions étranges.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire