mise à jour base de données

C

chesterfield

Guest
bonjour le forum,
voila ,je me suis crée une base de donnée principale et je voudrais mettre à jour d 'autres feuilles dans le même classeur ,j' ai commencé par un collage avec liaison, j' ai bien trouver une macro me permettant de copier coller toutes ma base , mais j ai rajouté des fonctions recherche sur les autres feuilles et à chaque fois que je lance ma macro toutes les recherches se relancent le temps de mis à jour est trops long,
comment pourrais je faire pour juste transférer la dernière ligne saisie sur ma base principale sur les autres feuilles et le must: comment pourrais je recopier mes fonctions en automatique quand je crée de nouvelles lignes

en attendant de vous lire
merci
 
C

chesterfield

Guest
bonjour, mutzick
voici ce que j'étais en train de faire mais je veux seuleument transférer de la colonne A à L car toute la ligne se transfert et m'écrase les données des cellules sur les autres feuilles

Dim nLig As Integer, nLig2 As Integer, nlig3 As Integer, l As Variant
nLig = Sheets('plo').Range('a65536').End(xlUp).Row + 1
nLig2 = Sheets('pla').Range('a65536').End(xlUp).Row + 1
nlig3 = Sheets('plu').Range('a65536').End(xlUp).Row + 1
l = Range('A65536').End(xlUp).Row
Rows(l).Copy
Sheets('plo').Range('a' & nLig).PasteSpecial Paste:=xlValues
Sheets('pla').Range('a' & nLig2).PasteSpecial Paste:=xlValues
Sheets('plu').Range('a' & nlig3).PasteSpecial Paste:=xlValues
 
C

chesterfield

Guest
bonjour, mutzick
voici ce que j'étais en train de faire mais je veux seuleument transférer de la colonne A à L car toute la ligne se transfert et m'écrase les données des cellules sur les autres feuilles

Dim nLig As Integer, nLig2 As Integer, nlig3 As Integer, l As Variant
nLig = Sheets('plo').Range('a65536').End(xlUp).Row + 1
nLig2 = Sheets('pla').Range('a65536').End(xlUp).Row + 1
nlig3 = Sheets('plu').Range('a65536').End(xlUp).Row + 1
l = Range('A65536').End(xlUp).Row
Rows(l).Copy
Sheets('plo').Range('a' & nLig).PasteSpecial Paste:=xlValues
Sheets('pla').Range('a' & nLig2).PasteSpecial Paste:=xlValues
Sheets('plu').Range('a' & nlig3).PasteSpecial Paste:=xlValues
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Chesterfield (25 Rouge), le Fil, le Forum

Une approche en passant directement un object range au lieu d'une copie.

Sub ReportMyLine()
Dim nLig As Integer, nLig2 As Integer, nlig3 As Integer, Ligne As Variant
Dim TheLine As Range
Dim NbCol As Byte
Dim NbLine As Byte

nLig = Sheets('plo').Range('a65536').End(xlUp).Row + 1
nLig2 = Sheets('pla').Range('a65536').End(xlUp).Row + 1
nlig3 = Sheets('plu').Range('a65536').End(xlUp).Row + 1

With Sheets('Sheet1')
    Ligne = .Range('A65536').End(xlUp).Row
   
Set TheLine = .Range('A' & Ligne & ':L' & Ligne)
End With

NbCol = TheLine.Columns.Count
NbLine = TheLine.Rows.Count

Sheets('plo').Range('a' & nLig).Resize(NbLine, NbCol) = TheLine()
Sheets('pla').Range('a' & nLig2).Resize(NbLine, NbCol) = TheLine()
Sheets('plu').Range('a' & nlig3).Resize(NbLine, NbCol) = TheLine()


End Sub

Voir si j'ai bien compris car je n'ai lu que le dernier Post.

Bonne fin de journée
[ol]@+Thierry[/ol]
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonsoir ChesterField (moi c'est les Rouges en 25 x ;))

Pour le 'TheLigne()' ça c'est pûrement par hazard un soir très tardivement, je pensais avoir à faire à un Tableau avec la Fatique et je travaillais en fait sur un Object Range (Comme dans le cas présent) et je me suis tout à coup rendu compte que cette erreur de syntax involontaire permettait d'envoyer une Plage de l'Objet Range d'un coup d'un seul au lieu de boucler sur cette Plage style 'For Each Cell In Plage'...

Bonne Soirée
[ol]@+Thierry[/ol]
 

Discussions similaires

Statistiques des forums

Discussions
312 520
Messages
2 089 298
Membres
104 092
dernier inscrit
karbone57