Déterminer la valeur d'une cellule précise du rang Target

Bonjour,

Cette application je m'en sers pour saisir les données des coupures des systèmes AXE.

Bon, l'événement WorkSheet_Change() est déclenché à deux reprises :

1) Quand la colonne A est renseignée :

  • Vérification de la saisie si elle existe dans le tableau [Sites] dans la feuille "Données".
  • Si non (NB.SI=0), on ajoute cette saisie au tableau

2) Quand la colonne F est renseignée :

- Vérification de la saisie si elle existe dans l'un des tableaux "Comm", "Env" ou "Trs" dans la feuille "Données" , et cela selon la valeur dans la colonne B.

- Si dans la colonne B il est saisi "Comm", la valeur correspondante dans la colonne F, si elle est inexistante, sera ajoutée dans le tableau [Comm] de la feuille "Données".

- Si dans la colonne B il est saisi "Env", la valeur correspondante dans la colonne F, si elle est inexistante, sera ajoutée dans le tableau [Env] de la feuille "Données".

- Si dans la colonne B il est saisi "Trs", la valeur correspondante dans la colonne F, si elle est inexistante, sera ajoutée dans le tableau [Trs] de la feuille "Données".

Axe ? les autocom erickson ?

Saisie toujours cellule par cellule ou :

Est-ce qu'il t'arrive d'ajouter une ligne complète par coller ?

Est-ce qu'il t'arrive d'ajouter plusieurs lignes complètes par coller ?

Est-ce qu'il t'arrive de supprimer des lignes complètes ?

eric

Bonjour eric,

eriiic a écrit :

Axe ? les autocom erickson ?

Bien sur !

Saisie toujours cellule par cellule

Chaque cellule est renseignée a part

Est-ce qu'il t'arrive d'ajouter une ligne complète par coller ?

Depuis le formulaire, non.

Est-ce qu'il t'arrive d'ajouter plusieurs lignes complètes par coller ?

Parfois, j’ajoute plusieurs lignes dans la colonne A, si ces deniers ont la même heure de coupures.

Est-ce qu'il t'arrive de supprimer des lignes complètes ?

En cas ou je me rends compte que la ligne contient une erreur.

Bonjour,

J'ai été au plus simple, partant du principe que jean-eric n'a pas pour habitude d'écrire des bêtises.

Mais pourquoi ne pas avoir continué sur le même fil ?

Donc sur une modif de plusieurs cellules, chacune attaque la partie de programme ancienne.

J'ai mis en commentaire 'If Target.Count > 10 Then Exit Sub ne voyant pas bien son intérêt.

Teste pour voir.

eric

Bonjour,

eriiic a écrit :

Donc sur une modif de plusieurs cellules

C'est ce que fait ce code (Mise en forme de la ligne renseignée) qui déclenche l'erreur :

        '--Reproduire la mise en forme
        With Worksheets("BDD")
            .Range("A7:F7").Copy
            .Range("A" & Ligne & ":F" & Ligne).PasteSpecial xlPasteFormats
        End With

Donc, aussi un test sur le nombre de cellules qui représentent la plage Target, peu empêcher l'erreur de se produire :

        If Target.Cells.Count > 1 Then Exit Sub
        Select Case Target.Column

Bonjour,

Je ne sais pas reproduire cette erreur.

Tu avais écrit >10, pas >1

Et si tu veux que le traitement se fasse en cas de modification de plusieurs cellules à la fois il ne faut pas le mettre et faire comme j'ai mis.

eric

Bonjour,

eriiic a écrit :

Je ne sais pas reproduire cette erreur.

L'erreur est déclenchée sur cette ligne puisque le code traite une seule cellule et non pas 6 cellules (A à F) :

    If Application.CountIf([Sites], Target.Value) = 0 Then
eriiic a écrit :

Tu avais écrit >10, pas >1

Je pensais que l’événement WorkSheet_Change() se déclenchait après que toute la nouvelle ligne ait été renseignée.

eriiic a écrit :

Et si tu veux que le traitement se fasse en cas de modification de plusieurs cellules à la fois il ne faut pas le mettre et faire comme j'ai mis.

Oui, merci.

Bonjour,

L'erreur est déclenchée sur cette ligne...

Ca ne me dit pas ce qu'il faut faire pour la provoquer.

eric

Bonjour eric,

eriiic a écrit :

Ca ne me dit pas ce qu'il faut faire pour la provoquer

Sans ton dernier code rectificatif, et sI tu fait un copier/coller d'une ligne entière du tableau "BDD" (6 colonnes) tu aura cette erreur !

Bonjour,

Sans ton dernier code rectificatif

Je ne comprend pas bien là...

Le but ne serait pas plutôt de tester ce que je te propose et dire ce qui ne va pas dessus ?

J'ai l'impression de perdre mon temps dans un dialogue de sourd, ça fait 10 jours qu'on tourne en rond.

Je crois que le mieux est que tu fasses le bilan d'où tu en es et que tu démarres un nouveau topic.

eric

Merci éric, ton code fonctionne très bien

Rechercher des sujets similaires à "determiner valeur precise rang target"