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. 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
    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. Re,

        Teste cette formule en F2

        =SI(D2="";"PRESENT";SI(ESTNUM(D2);"A RADIER";"EN ATTENTE DE RADIATION"))
        0
        1. 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. 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. 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. 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. 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. 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. Re,

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

                  0
                  1. 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. 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. Merci Bob, pensez de marquer comme résolu si c'est le cas.


                      0