Tableau evolutif

Bonsoir le forum

J'ai encore besoin de votre savoir pour un tableau dont les données devront changer en fonction d'un nouvelle ligne

le Tableau des lignes K à O à faire modifier à chaque nouvelle entrée de ligne

à chaque nouvelle entrée de ligne ce tableau descend lui aussi d'une ligne sans mettre les chiffres en double

Voici un petit exemple plus parlant

merci d'avance

Cordialement

Gabinos

Salut,

Je ne suis pas certain d'avoir bien compris ton attente. Regarde déjà la proposition ci-jointe et dis-moi ce qu'il faut corriger.

Cordialement.

Bonjour Yvouille

Merci de cette nouvelle demande

d'après plusieurs essais ça me semble bon

j'ai Juste remarquer une couleur ne se mais après une nouvelle entrée.

Ex: nouvelle ligne 1:27:16:22:48

le 27 et 16 passe en vert mais pas le 22

vue qu'il ce trouve dans les 4 précendente ligne il devrais être vert

a te lire prochainement

Merci

Cdt

Gabinos

J'avais compris qu'il fallait contrôler si les nouveaux numéros étaient présents uniquement dans la ligne qui disparait.

Normalement la modification apportée devrait correspondre à ton attente, si elle ne créé pas des problèmes à un autre niveau

Amicalement.

merci Yvouille

Très rapide

je pense que c'est bon

Je mais en application dans mon fichier

Je te tient au courant

Cdt

Gabinos

suite de ma demande

j' ai inserer le module mais je me perd dans les lignes à modifier, et cela ne fonctionne Pas

Mon Tableau est en AW83 : BA86

pour le tableau si je change 2 boucles "for next" " i et J " celà devrait le faire

Mes lignes de rentrer commence en X5 , , , , AB5

la dernière entrée actuel est en ligne X77 à AB77

les colonnes vides pouvant servir de calcul sont D.E.F.G.H

Voilà Yvouille

A++++++++++++ :

Gabinos

Re-bonjour,

Ca me paraît très périlleux d'effectuer les modifications demandées sans avoir ton fichier à disposition. Peux-tu aussi placer ton fichier réel - du moins sa structure exacte - sur le Forum ? Il suffit de laisser le tableau de départ avec quelques lignes de chiffres (même modifiés), l'emplacement du tableau d'arrivée ainsi que quelques données-bidon dans les autres colonnes utilisées.

Sinon, si tu préfères, tu peux me fournir une adresse électronique - soit sur ce fil, soit en cliquant sur MP ou sur l'enveloppe sous mon avatar - à laquelle je peux te faire parvenir la mienne afin que tu me fasses parvenir ton fichier en privé.

Cordialement.

Bonjour à tous

Merci Yvouille

je t'envoi mon Email en MP

j'ai modifier ton modèle de fichier cela fonctionne mais pas les cellules en couleur

voila un morceau de ce tableau modifier dans les conditions de mon fichier

a+

Gabinos

24tableau.zip (14.21 Ko)

Re,

Maintenant j'ai été averti que tu avais placé une réponse à ce présent fil car soit j'y suis intervenu depuis ta dernière réponse, soit parce que je me suis connecté ou déconnecté du Forum entre deux

J'ai aussi reçu ton message privé sur le Forum et ton courriel privé.

Comme tu avais placé un bout de fichier sur le présent fil et que je l'ai reçu en premier, c'est le seul que j'ai regardé. J'ai donc ignoré ton fichier reçu par courriel, présumant qu'il avait la même structure.

Le problème des couleurs se situe au niveau de la première des deux lignes de code CORRIGE ci-dessous (de IF à THEN). La deuxième ligne est reportée uniquement afin de te faciliter le repérage du passage concerné:

            If WorksheetFunction.CountIf(Range(Cells(Target.Row - 4, 24), Cells(Target.Row - 1, 28)), Range("Q" & i)) > 0 And WorksheetFunction.CountIf(Range(Cells(Target.Row, 24), Cells(Target.Row, 28)), Range("Q" & i)) > 0 Then
                Range("R" & i) = "X"

Si ça ne joue toujours pas, reviens à la charge sur ce fil uniquement.

Amicalement.

ok

ça fonctionne Merci Yvouille

Sur le fichier que je t'est envoyé tu peux me le modifier

car il est un peu long pour l'affichage du résultat

je te laisse faire pour améliorer ce petit programme

j' attend de faire les modifications nécessaire avant de cloturer

Cdt

Gabinos

Re-bonjour,

J'ai placé la correction proposée ci-dessus sur ton fichier réel et l'actualsation de ton tableau dure 3 à 4 secondes, vu le nombre de données réelles à traiter.

Afin de corriger celà, de manière à gagner 3 à 4 secondes par jour, ça risque de me prendre 1 à 2 heures pour transformer ce code et y introduire des tableaux.

Ne peux-tu donc pas te contenter du code déjà fourni ? Ou est-ce qu'il y a un autre problème ?

Cordialement.

Réponse

Non ça me va comme ça

Je commence à comprendre les lignes de cette macro

au cas ou j'aurais à modifier l'emplacement de la grille

je n' est pas compris cette ligne

Range("R" & i) = "X"

que je vais descendre au fur et a mesure de nouvelles entrées de ligne

Merci une fois de Plus Yvouille

Cdt

Gabinos

gabinos a écrit :

au cas ou j'aurais à modifier l'emplacement de la grille

On pourrait rechercher automatiquement l'emplacement de cette grille, si ça t'intéresse.

Cordialement

Bien sur que cela m'interesse

je n'est pas compris cette ligne

Range("R" & i) = "X"

Cdt

Gabinos

Voici un code corrigé afin de traiter le tableau des colonnes E à I, quelle que soit son emplacement dans ces colonnes. Tel que créé, ce code implique que la colonne E reste vide entre la ligne 1 et le tableau "flottant". Si ceci est un souci, on peut modifier le code.

J'ai placé des explications dans le code pour répondre à tes questions au sujet de cette ligne Range("R" & i) = "X"

Cordialement.

13tableau-v2.zip (15.04 Ko)

Bonjour Yvouille

Merci pour cette Modification c'est beaucoup plus simple , plus à modifier les lignes pour replacer ce tableau

Pour la colonne E pas de souci elle reste vide

j'ai remis cela dans mon fichier original tout est rentrer dans l'ordre ça fonctionne bien

je cloture dans plusieurs essais

Cordialement

Gabinos

Je me suis rendu compte d'un problème au niveau de ces deux lignes :

Application.EnableEvents = False 
If Target.Count > 1 Then Exit Sub

Dans mon fichier précédent, si tu déplaces ton tableau flottant en bloc, le code est déclenché, passe par la première de ces deux lignes (ce qui est nécessaire afin de «bloquer» le déclenchement en boucle de la macro «Private Sub Worksheet_Change») puis s’arrête sur la ligne suivante (à «Exit Sub») puisque tu avais effectivement sélectionné plus d’une cellule.

Le code n’est alors pas passé par la dernière ligne «Application.EnableEvents = True» qui réactiverait le déclenchement de toutes les macros et une nouvelle modification de la feuille ne déclenche plus rien du tout . Les macros seraient à nouveau déclenchées normalement si tu fermes l’application Excel et que tu la rouvres.

Comme dans le fichier ci-joint, tu dois alors intervertir les deux lignes de codes mentionnées ci-dessus et tout rentre dans l’ordre.

Cordialement.

14tableau-v3.zip (15.11 Ko)

réponse

ok pour cette modification

et je supprime cette ligne

Application.ScreenUpdating = False

a++++++++++++

Cordialement

Gabinos

gabinos a écrit :

et je supprime cette ligne

Application.ScreenUpdating = False

Non, désolé, je me suis mélangé les pinceaux et j'ai effacé - dans la version3 - cette ligne que je n'aurais pas dû.

Voici donc à quoi doit ressembler le début du code :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, j As Integer, k As Integer, m As Integer, Prem_Lig_E As Integer

Application.ScreenUpdating = False

If Target.Count > 1 Then Exit Sub

Application.EnableEvents = False

    If Not Application.Intersect(Target, Range("AB" & Range("AB65536").End(xlUp).Row)) Is Nothing Then
................................................

D'ailleurs, si tu lances le code sans cette ligne Application.ScreenUpdating = False, tu vois à l'écran tout le déroulement du code (ce qui prend beaucoup plus de temps).

Encore désolé pour ces imprécisions

réponse

Je n'est pas vu une grosse différence sur le temps d' exécution.

Juste un reset de la grille

J ai déplacer ce tableau de haut en bas avec des suppressions de données

puis de remettre d'autre entrée de lignes etc

Tous Fonctionne Nickel

Cordialement

Gabinos

Rechercher des sujets similaires à "tableau evolutif"