Distancier dynamique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

GUY rrr

XLDnaute Occasionnel
Bonjour le forum,

Je fais à nouveau appel à vos compétences afin de trouver un moyen "d'automatiser une tâche", à savoir:
J'ai un onglet BDD Adresse avec une liste triée sans doublons verticale qui s'incrémente au fil des entrées.
J'ai un onglet Distancier qui reprend en horizontal et vertical mes entrées de la BDD Adresse.
Je souhaite (je suppose par le biais d'une macro), que mon distancier s'incrémente dans l'ordre indiqué par la liste triée, tout en conservant les anciennes données déja présentes à l'intérieur de ce même distancier.
Je ne sais pas si ma demande est réalisable ou même claire 🙄, mais pour une meilleure compréhension, je joins un fichier exemple avec le résultat à obtenir dans l'onglet Distancier 2 après avoir rajouté la donnée Red3.

Merci pour vos propositions.

Cordialement
 

Pièces jointes

Bonjour,

Ceci
VB:
Sub Report_dans_distancier()
    Dim f1 As Worksheet, f2 As Worksheet
    Dim DerLig_f1 As Long, i As Long
    Application.ScreenUpdating = False
    Set f1 = Sheets("BDD Adresse")
    Set f2 = Sheets("Distancier")
    DerLig_f1 = f1.Range("AD" & Rows.Count).End(xlUp).Row
    For i = 2 To DerLig_f1
        If f2.Cells(i, "A") <> f1.Cells(i, "AD") And f1.Cells(i, "AD") <> 0 Then
            f2.Rows(i).Insert Shift:=xlDown
            f2.Columns(i).Insert Shift:=xlToRight
            f2.Cells(i, "A") = f1.Cells(i, "AD")
            f2.Cells(1, i) = f1.Cells(i, "AD")
            f2.Cells(i - 1, i).Interior.ColorIndex = xlNone
            f2.Cells(i, i - 1).Interior.ColorIndex = xlNone
        End If
    Next i
    Set f1 = Nothing
    Set f2 = Nothing
End Sub

Cdlt
 

Pièces jointes

Bonsoir Rouge, le forum,


Rouge, désolé pour ma réponse tardive, le temps commence à me manquer ...
Votre proposition correspond en tous points à ma demande.
J'adapte votre solution et vous fais un retour dés que possible.
Un très grand MERCI à vous 👍.

Bonne soirée
 
Bonjour Rouge, le forum,

Après adaptation, je me rends compte que j'ai oublié un détail dans ma demande, à savoir:
Est-il possible, dans le même esprit de la première demande, en décrémentant ma liste BDD Adresse, d'avoir le résultat inverse de la première demande sur l'onglet Distancier ?

Merci pour votre retour.

Cordialement
 
Rouge, merci pour votre retour.

Je me suis très certainement mal exprimé ... 😶, la liste présente en BDD Adresse s'incrémente à 98% et peut être amenée à "perdre des données" (soit retirées, soit remplacées mais toujours triées de A à Z).
Ma question est de savoir si lorsque des données sont retirées dans la liste BDD Adresse, (de la même façon qu'elles sont ajoutées dans cette même liste), elles peuvent l'être aussi dans l'onglet Distancier ?

En revanche, si elles sont remplacées, je ne suis pas persuadé que cela puisse être possible ... car il faudrait que les données kilométriques présentes dans l'onglet Distancier soient assimilées, affiliées, aux données de la BDD Adresse. Cela me semble compliqué ... Si le coeur vous en dit, je pourrais vous fournir un autre fichier exemple avec le résultat à obtenir en cas de remplacement de donnée.

Afin d'avoir une meilleure compréhension de ma demande pour le retrait de données, je joins un fichier exemple sur le même principe que le premier.

En souhaitant avoir été plus clair que précédemment 😎
 

Pièces jointes

Rouge, votre solution me convient 👍.

Dans l'idéal, est-il possible de n'avoir aucun bouton réunissant les deux macros effectuant ainsi une MAJ continue dans un sens ou dans l'autre. Ce serait le top car l'automatisation de la tâche serait complète.

Merci pour votre retour
 
Ok, alors voici, dans un premier temps, il faut supprimer toutes les lignes contenant un 0.

Ensuite, j'ai pris la cellule AF1 pour mémoriser le nombre de lignes remplies, c'est à partir de cette valeur si le programme doit incrémenter ou décrémenter, cette valeur s'adaptera d'elle même suivant les actions qui auront été faites.

Lorsque vous modifierai la colonne AD, faites un DOUBLE-CLIC sur l'une des valeurs.

A tester
 

Pièces jointes

Rouge, votre procédure me convient, mais à l'épreuve, il semblerait que le distancier ne se comporte pas de manière souhaitée. Je pense que cela est dû au fait que vous traitiez la liste en BDD Adresse comme si une ou plusieurs lignes étaient supprimées et non effacées ... Je sais que vous m'avez déjà posé la question et lors de mes essais avec votre fichier du post7, cela fonctionnait en effaçant les données 😳, donc je n'ai pas voulu à ce moment vous solliciter de trop sauf que maintenant, avec ma nouvelle demande, il semblerait qu'il y ai dysfonction.

Vous serait-il possible, dans la limite de votre disponibilité, de solutionner ceci ?

Merci pour votre soutien.
 
Rouge,

Les données aux points d'intersections ont disparu avec réapparition du grisage à ces mêmes points d'intersection 👍, l'ajout fonctionne 👍, mais ce coup-ci, le retrait ne fonctionne plus 😢.
J'aurais bien voulu ne serais-ce que comprendre le code pour voir ou se situait l'erreur mais ... ma compréhension de ce langage m'en empêche ...

Pourrez-vous dès que possible y revenir dessus ?

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour