fonction avancées en macro

mistralincoming

XLDnaute Junior
je vous joint mon fichier
il faudrait que j'arrive à enregistrer des données corrigées dans une base déjà éxistante à la bonne ligne
comment lui faire dire cherche la ligne où il y a tel nom,
et recopie les données dessus?

merci
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : fonction avancées en macro

Re-,
peut-être :

Code:
Sub creation_fournisseur()
Application.ScreenUpdating = False
Derlig = Sheets("Base rens tarifs fournisseurs ").[A65000].End(xlUp).Row + 1
Sheets("création Fiche Fournisseur").Range("U52:U307").Copy
Sheets("Base rens tarifs fournisseurs ").Select
Range("A" & Derlig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Dim pl As Range
Set pl = Range("A3:IV" & Derlig)
pl.Name = "zone_de_tri_tarifs"
Set pl = Range("B3:B" & Derlig)
pl.Name = "fournisseurs2"
Range(" zone_de_tri_tarifs").Sort Key1:=Range("A3"), Order1:=xlAscending, Key2:=Range("B3") _
, Order2:=xlAscending, Header:=xlGuess
Derlig = Sheets("Base rens gen Fournisseurs").[A65000].End(xlUp).Row + 1
Sheets("création Fiche Fournisseur").Range("U1:U51").Copy
Sheets("Base rens gen Fournisseurs ").Select
Range("A" & Derlig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Set pl = Range("A3:AY" & Derlig)
pl.Name = "zone_de_tri_renseignements_generaux_fournisseurs"
Set pl = Range("B3:B" & Derlig)
pl.Name = "fournisseurs"
Range("zone_de_tri_renseignements_generaux_fournisseurs").Sort Key1:=Range("A3"), Order1:=xlAscending, Key2:=Range("B3") _
, Order2:=xlAscending, Header:=xlGuess
Sheets("création Fiche Fournisseur").Union(Range( _
"K58:M58,K60:M60,K62:M62,K64:M64,K66:M66,I7:Q27,C7 :E7,C9:E9,C11:E11,C16:E16,C18:E18,C20:E20,C25:E25, C26:E26,C27:E27,C28:E28,K36:M36,D33,D35,D37,D39,D4 1,D43,C47:E47,C49:E49,C51:I51,H47,H49:I49,K47:L47, L49:O49,C56:E56,C58:E58" _
), Range("C60:E60,C62:E62,C64:E64,C66:E66,K56:M56")).ClearContents
Sheets("commentaires").Range("C5:M55").ClearContents
Sheets("création Fiche Fournisseur").Select
End Sub

mais comme je ne peux la tester.....
Si bug, reviens
 

mistralincoming

XLDnaute Junior
Re : fonction avancées en macro

bonsoir
si tu peux jeter un coup d'oeil

Sub completer()
With Sheets("Base rens tarifs fournisseurs ")
x = .Range("fournisseurs2").Find(What:=Range("fourn").Value, LookIn:=xlValues, LookAt:= _
xlWhole).Row
i = 1
For Each cel In Range("F59:F313")
If cel.Value <> "" Then .Cells(x, i).Value = cel.Value
i = i + 1: If i = 2 Then i = 3
Next cel
End With
End Sub

le soucis que j'ai, c'est que sur ma 2ème feuille, (la suite de ma base), fournisseurs2 est en première colonne, et lorsque j'active la correction de données avec ta macro, les nouvelles données se copie en première colonne; comment je peux décaler d'un cran stp
merci
 

Cousinhub

XLDnaute Barbatruc
Re : fonction avancées en macro

Bonjour,
essaie avec :

Code:
Sub completer()
With Sheets("Base rens tarifs fournisseurs ")
x = .Range("fournisseurs2").Find(What:=Range("fourn").Value, LookIn:=xlValues, LookAt:= _
xlWhole).Row
i = 1
For Each cel In Range("F59:F313")
If cel.Value <> "" Then .Cells(x, i + 1).Value = cel.Value
i = i + 1
Next cel
End With
End Sub
 

Discussions similaires

Réponses
13
Affichages
311
Réponses
3
Affichages
385

Statistiques des forums

Discussions
312 534
Messages
2 089 386
Membres
104 152
dernier inscrit
sabalex