XL 2016 solidarisation de lignes en VBA

GOLE

XLDnaute Nouveau
Bonjour le forum,
Vous trouverez en PJ un fichier "test" où j'aimerai solidariser des lignes grâce au VBA
Mes connaissances en vba sont très limitées et se résument à adapter des codes à mes applications
Merci par avance
 

Pièces jointes

  • TEST.xlsm
    32 KB · Affichages: 34

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Gole,
Tel que présenté, ça ne peut pas marcher car nul part vous n'avez le descriptif des Ref auquel on pourrait se raccrocher. Pr ex, nulle pert il est indiqué que 301 c'est 5 chaises. Donc quand on rentre des Ref la table se désynchronise.
Il manque cette table de descriptifs. Ensuite on pourra en fonction des Ref rentrées y attacher le descriptif adequat.
 

GOLE

XLDnaute Nouveau
Bonjour Gole,
Tel que présenté, ça ne peut pas marcher car nul part vous n'avez le descriptif des Ref auquel on pourrait se raccrocher. Pr ex, nulle pert il est indiqué que 301 c'est 5 chaises. Donc quand on rentre des Ref la table se désynchronise.
Il manque cette table de descriptifs. Ensuite on pourra en fonction des Ref rentrées y attacher le descriptif adequat.
Bonjour Sylvanu,
Dans mon application la référence et la nature ne sont pas liés; le mot ref est mal choisi je dirai plutot que ce sont des points de relevé. (pas de formule avec rechercheV ou somme prod).
Je pense que c'est possible de lier (en vba) qté et nature sur ref
 

GOLE

XLDnaute Nouveau
J'ai trouvé sur ce forum une réponse en VBA sur ce thème de Job75 en 2015
C'est exactement ce que je cherche pour le résultat sur la deuxième feuille
Malheureusement son code c'est de l'hébreu pour moi
si quelqu'un pouvait l'adapter à mon exemple avec un peu d'explication ce serait sympa
ci-joint son fichier
Merci
 

Pièces jointes

  • Question cellules liées Excel(1).xlsm
    20 KB · Affichages: 7

GOLE

XLDnaute Nouveau
J'ai essayé ce code mais ça ne marche pas ? :
Private Sub Worksheet_Change(ByVal Target As Range)
With ThisWorkbook.Sheets("table")
.Columns("A").Insert
For i = 2 To .Range("B" & .Rows.Count).End(xlUp).Row
num = .Range("B" & i)
.Range("A" & i) = num
Do
i = i + 1
.Range("A" & i) = num
Loop Until .Range("B" & i).Borders(xlEdgeBottom).LineStyle = 1
Next
.Range("A2:C" & .Range("A2").End(xlDown).Row).Sort key1:=.Range("A1"), _
order1:=xlAscending

.Columns("A").Delete
End With
End Sub
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @GOLE @sylvanu , le Forum

Si j'ai compris, ce n'est pas si compliqué, mais peut-être je suis à côté de la plaque...

J'ai pris soin de commenter le code aussi...
Bien à toi, à vous
@+Thierry
 

Pièces jointes

  • XLD_GOLE_TEST_Insert_Reference_v00xlsm.xlsm
    34.3 KB · Affichages: 7

GOLE

XLDnaute Nouveau
Merci Thierry pour ce travail, enfin une solution
Un petit hic, sur la feuille table dans la colonne Ref je ne dois pas avoir de doublons...
et si je supprime une valeur dans colonne A de "saisie" elle ne doit plus apparaitre dans colonne A de table
dur dur :)
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @GOLE , le Fil, le Forum

Ah oui, je n'avais pas aussi compris que tu voulais aussi gérer l'effacement d'une cellule *...
Cette facon de faire est assez incohérente pour gérer une mini Database, j'ai beau faire mais cette structure aura toujours des failles à mon avis...

Bon malgrès ceci j'ai presque tout repris pour repartir sur une base "propre" et éviter de faire une 'verrue' sur la v00...

Je te laisse tester
C'est à nouveau commenté, c'est ce qui prend le plus de temps !
Bonne Ascension !
@+Thierry

* Une seule cellule à la fois s'il vous plait !
 

Pièces jointes

  • XLD_GOLE_TEST_Insert_Reference_v01.xlsm
    37.9 KB · Affichages: 5

GOLE

XLDnaute Nouveau
Bonjour le forum (et Thierry),
Je reviens vers vous, dans mon application j'ai des lignes avec de nombreuses formules ; comment conserver les formules dans toutes les lignes de "table" quand on rajoute des références dans "saisie"
Ci-joint le fichier test avec 3 colonnes comportant des formules
merci
 

Pièces jointes

  • TEST_Insert_Reference_v01.xlsm
    38.9 KB · Affichages: 2

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @GOLE le Forum

Non, là on s'est mal compris et tu n'a jamais parlé de ça, le "mariage" de Tableaux générés par VBA sur un ou des tableaux contenant des formules fait toujours très mauvais ménage.

Je regarderai, mais là je ne promets rien, ca sent le gaz sans même ouvrir ton fichier ! ;)

Bon courage
@+Thierry
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonjour

C'est exactement ce que je redoutais, en plus avec QUE trois formules 'bidon' pour l'exemple, mais en lisant ceci, je présume que c'est bien plus compliqué :
j'ai des lignes avec de nombreuses formules

Non, surtout depuis aussi que tu voulais du "Delete" de Rows depuis VBA sur cette Table ca va être ingérable et aussi en prime de l'insertion de Rows ca va être encore plus ingérable.

A ce niveau, en général je conseille à l'utilisateur de revoir complètement le concept de ce qu'il veut faire et obtenir... Car là sinon dans un mois il y aura un millier de Posts pour avancer/reculer sans aboutissement.

Bon courage
@+Thierry
 

GOLE

XLDnaute Nouveau
Bonjour Thierry,
Le projet est abouti ; ton code va bien mais il me reste ce problème de copie de formule
Dans ton code après insérer la ligne est ce qu'on pourrai dire de copier seulement les cellules qui ont une formule...
En tous cas désolé pour les à coups et encore merci pour le le temps passé
Bonne soirée
 

Discussions similaires

Réponses
12
Affichages
304

Statistiques des forums

Discussions
312 195
Messages
2 086 072
Membres
103 110
dernier inscrit
Privé