Aide pour réaliser une macro

Résolu

Bonjour à tous, j'ai un tableau Excel et j'aimerais réaliser via une macro l'opération suivante: si une cellule contient une date, me renvoyer une valeur dans une autre cellule. Pourriez vous m'aider s'il vous plait? Je vous remercie par avance

17 réponses

  1. Merci Bob, pensez de marquer comme résolu si c'est le cas.


    0
    1. Bonjour,

      C'est bien possible que le problème soit lié au code VBA sur MacBook.

      Note: contrôler que la variable 

        Dl = Range..... est bien la même orthographe dans If Not Application.Intersect(Target, Range("D2:D" & Dl))...!
      0
      1. Bonjour, j'ai testé la formule et elle fonctionne parfaitement effectivement. un énorme merci à vous 2 de votre réactivité et de votre aide précieuse.

        0
    2. J'essayerai demain à partir de mon ordinateur de bureau. Sans doute que le problème émane de mon macbook. Encore MERCI de votre patience et Merci à M-12 également. Bonne soirée Cordialement,

      0
      1. Re,

        Est ce que ton fichier final est identique à l'exemple sur les premieres lignes ?

        0
        1. En mettant en application, je rencontre l'erreur suivante "Erreur d'exécution 424 objet requis" pour cette ligne :  If Not Application.Intersect(Target, Range("D2:D" & Dl)) Is Nothing Then.

          Merci encore

          0
          1. Bonjour,

            Juste au passage, je pense que Bob à l'extension XLS donc il doit le mettre en XLM...!


            0
            1. Bonjour le Pignon et merci de ta réponse, j'avais pris le soin de modifier l'extension justement en me mettant sur XLMS

              0
          2. Re,

            Place cette macro à la place de l'autre dans la Feuil1 du développeur

            Private Sub Worksheet_Change(ByVal Target As Range)
              Dim Dl%
              Dl = Range("A" & Rows.Count).End(xlUp).Row
              If Not Application.Intersect(Target, Range("D2:D" & Dl)) Is Nothing Then
                If Target.Value = "" Then
                  Target.Offset(, 2).Value = "PRESENT"
                ElseIf IsDate(Target.Value) Then
                  Target.Offset(, 2).Value = "A RADIER"
                Else
                  Target.Offset(, 2).Value = "EN ATTENTE DE RADIATION"
                End If
              End If
            End Sub
            
            0
            1. J'ai tout essayé et malheureusement je ne parviens pas à télécharger le fichier accompagné de ta macro. Je tenterai demain à partir de mon ordinateur bureau. J'ai le message suivant: Désolé... nous avons rencontré un problème dans le contenu de "LHpprgwGIMC_TABLEAU-TEST" Mais nous pouvons essayer de récupérer le max de contenu. si la source est fiable cliquez sur OUI et en le faisant, la macro n'apparait pas.

              En tout cas, un grand grand merci à toi d'avoir pris du temps pour m'apporter ton aide et une bonne fin de journée.

              0
              1. 0
                1. Encore MERCI M-12 du temps consacré pour son PB. J'ai bien reçu le lien, mais dès que j'essaye de l'ouvrir il affiche une erreur et je parviens à voir le fichier mais sans aucune macro d'affichée. LHpoly4IbqC_LHpjoKsigta-Tableau-TEST.xls

                  J'ai un message disant que la macro est supprimée automatiquement

                  0
              2. Oui je confirme qu'elle fonctionne MERCI. J'aurais préféré l'avoir sous forme de macro pour éviter qu'elle ne soit effacée si je dois inscrire une donnée dans une des cellules. Merci encore

                0
                1. Re,

                  Teste cette formule en F2

                  =SI(D2="";"PRESENT";SI(ESTNUM(D2);"A RADIER";"EN ATTENTE DE RADIATION"))
                  0
                  1. Bonjour M-12, je vous remercie de votre réponse rapide. voici le lien en question: https://www.cjoint.com/c/LHpjoKsigta

                    Je reste à disposition si je ne suis pas assez clair dans mon tableau

                    Encore merci de votre aide.

                    0
                    1. Bonjour,

                      Un p’tit classeur avec 10/15 données anonymisées serait mieux pour régler le soucis 

                      Allez dans http://cjoint.com
                      Cliquez sur "PARCOURIR" pour sélectionner le classeur
                      Clic le bouton "CREER LE LIEN"
                      Clic droit quand le lien est créé "COPIER LE LIEN"
                      Sur le post Clic droit "Coller".

                      0