IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

débutant en VBA je n'arrive pas à finir ma macro excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 14
    Points : 16
    Points
    16
    Par défaut débutant en VBA je n'arrive pas à finir ma macro excel
    Bonjour,

    Dans une feuille de calcul excel, sur une colonne j'ai des dates qui sont des dates de rappel de vaccinations à ne pas dépasser.Ces dates se mettent en rouge à l'ouverture de la macro auto open par comparaison avec la date système (cellule E3). Sinon elles restent normales.

    Dans la seconde partie de la macro, si on entre la date de vaccination (colonne à côté des dates de rappel), je voudrais effacer automatiquement la cellule correspondant à la date de rappel pour n'avoir que les dates de rappel futures d'affichées.

    Sur ma macro ,ci-dessous, elle fonctionne une fois pour effacer la cellule date rappel vaccination et m'envoie un message d'erreur sur la ligne:
    ActiveCell.Offset(0, -1).Select du type erreur d'exécution 1004 erreur définie par l'application et par l'objet.Si je réinitialise elle refonctionne et me renvoit l'erreur
    D'où vient l'erreur?
    D'autre part dans la première partie de la macro (comparaison des dates) si on est supérieure à la date système le texte s'affiche en rouge mais si la date était par exemple de l'année 2004 elle est considérée comme inférieure et pourtant la date de rappel serait dépassée. Comment faire dans ce cas pour comparer les dates?
    Merci à ceux qui auront la patience de tout lire
    Voici la macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Sub auto_Open()
     
    ' Macro1 Macro
    ' Macro enregistrée le 18/01/2005 par jp
      Dim plage As Range
      Dim plage1 As Range
     
      Set plage = Worksheets("feuil1").Range("D6:D15")
      For Each cell In plage
      If cell.Value > Range("E3") Then
      cell.Font.ColorIndex = 3
    'la date système est en E3 les dates supérieures passent en rouge
      Else
      cell.Font.ColorIndex = 0
    'les dates inférieures ne changent pas de couleur
      End If
      Next cell
     
      Set plage1 = Worksheets("feuil1").Range("E6:E15")
      For Each cell In plage1
      If IsDate(cell) Then
    'si les cellules plage "E6:E15" sont des dates
      ActiveCell.Offset(0, -1).Select
    'selectionner la cellule tout de suite à gauche et la supprimer
     
      Selection.ClearContents
     
      End If
      Next cell
     
    End Sub
    [Balises de code rajoutées par Thierry AIM, Merci d'y penser la prochaine fois]

  2. #2
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Utilise Datediff pour tester les dates
    Test par rapport à la date du jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateDiff("d", Date, Range("A1"))
    resultat en jours, positif ou négatif selon le cas
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. RLIKE ou REGEXP ? Je n'arrive pas à finir ma requête
    Par kenny_badboy dans le forum Requêtes
    Réponses: 2
    Dernier message: 23/03/2010, 12h51
  2. Réponses: 11
    Dernier message: 05/04/2007, 13h13
  3. Formule que j'arrive pas a faire sous excel
    Par CHONG76700 dans le forum Excel
    Réponses: 5
    Dernier message: 29/03/2007, 09h26
  4. Je n'arrive pas à ouvrir un fichier Excel
    Par Subkill dans le forum VBScript
    Réponses: 4
    Dernier message: 30/01/2007, 21h40
  5. Access n'arrive pas à accéder à un fichier Excel
    Par ZeitnotZatopek dans le forum Access
    Réponses: 12
    Dernier message: 01/09/2006, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo