Erreur d'exécution '424

Bonjour,

Je commence à apprendre le codage en VBA et je suis un peu perdue.. après de nombreux problèmes que j'ai réussi à résoudre me voilà face à un auquel je ne comprend rien..

J'essaye de créer un code afin que :

  • si la date et antérieure à la date du jour la ligne se colore en rouge
  • si la ligne est coloré en rouge et que la cellule E de cette ligne affiche "Oui" la ligne se colore en gris

Quelqu'un pourrait-il me dire ce qui ne vas pas, l'erreur s'affiche après le Then de la premiere ligne If (je suppose qu'elle est également répétée sur les autres lignes..)

Merci beaucoup !

code

Bonjour,

tu ne peux pas mettre date_de_peremption = range("___").select

il faut mettre date_de_peremption = range("___").value

select est une méthode, pas un attribut comme value

autre sujet : colore.line !!

Si je met .Value il me dit erreur d'exécution 13 : incompatibilité de type

J'étais en train de modifier le message ... colore.line !!! késako ?

autre sujet aussi :

cells(E) !!

oui !!

il faut mettre des guillemets sinon c'est pris comme variable, et indiquer aussi la ligne

exemple : cells(ligne,"E")

et "oui"

Bonjour Luxie,

Place un Stop entre les lignes débutant par if.

Et vérifie la valeur Date en survolant avec la souris.

De plus Cells(E) est incorrect. Il faut Cells(ligne, colonne) pour l'adresse d'une cellule.

autre sujet : font.color ... il s'agit d'une attribut mais il faut préciser de quoi ? de quelles cellules ?

Bonjour X Cellus

Place un Stop entre les lignes débutant par if.

je n'ai pas bien compris cette remarque ?

Bonjour Luxie,

Place un Stop entre les lignes débutant par if.

Et vérifie la valeur Date en survolant avec la souris.

De plus Cells(E) est incorrect. Il faut Cells(ligne, colonne) pour l'adresse d'une cellule.

Comment je place un stop ?

autre sujet : font.color ... il s'agit d'une attribut mais il faut préciser de quoi ? de quelles cellules ?

Il s'agit de la ligne entière, et si impossible de la cellule qui indique la date. Comment je code cela?

Il faut écrire simplement Stop entre les lignes if. Cela va arrêter le programme. Puis avec la touche F5 on continue le programme après vérification.

Mais prends compte aussi des remarques de Steelson parce que d'autres erreurs existent.

Pour les couleurs, regarde ici

https://www.excel-pratique.com/fr/vba/couleurs.php

exemple ligne 9 entière :

Rows(9).Font.ColorIndex = 3 ' rouge

Merci pour le stop, je n'avais jamais utilisé !!

On peut mettre aussi

Range("date_peremption").EntireRow.Font.ColorIndex = 3 ' rouge

si tu veux quelques corrections, poste tes exemples sur un fichier, cela te donnera ensuite des réflexes d'écriture

Oui Steelson, le but est ce qu'elle vérifie chaque ligne de son code. Parce que plusieurs erreurs existent. Il faut qu'elle construise avec prudence. On apprend de ses erreurs. Là elle place du code sans véritable construction, donc à la chance...

Bonjour Luxie

Je ne sais pas où tu en es ... si c'est pour apprendre le VBA, pourquoi pas, si c'est pour utiliser excel la mise en forme conditionnelle est plus adaptée à ton problème

Bonjour,

La mise en forme conditionnelle ne convient pas car je voudrais executer plusieurs choses. Mon code fonctionne le seul problème qui subsiste c'est qu'il semble ne pas reconnaitre une condition.

Je souhaite faire en sorte que si la ligne est rouge (donc la date antérieur a celle du jour) ET qu'une cellule affiche oui, la ligne devienne grise.

Mon code ressemble à cela :

Sub peremption2()

'jeté à la poubelle

Dim e As Integer

For e = 2 To 9999

If Cells(i, 3) < Cells(15, 8) And Cells(e, 5) = "Oui" Then

Range(Cells(e, 1), Cells(e, 6)).Interior.ColorIndex = 3

End If

Next e

End Sub

A savoir que le Oui en question provient d'une liste à choix multiple, j'ai l'impression que c'est là le problème.

Merci pour votre aide.

Le premier problème est que i n'est pas défini

If Cells(i, 3) ...........

Le premier problème est que i n'est pas défini

If Cells(i, 3) ...........

i est défini dans une partie du code que je n'ai pas mise ici mais qui est bien dans le sub car elle fonctionne, si tu penses que c'est un problème je peut mettre e a la place mais ca ne change rien au fait que la seconde condition n'est pas reconnue (j'ai déjà tester).

ok

bon courage pour la suite

si tu veux plus d'aide, poste un fichier représentatif

Rechercher des sujets similaires à "erreur execution 424"