Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro office 2003 transfere office 2010

cg1980

XLDnaute Occasionnel
consolidae de position
Bonjour,

j'aurais une demande qui requiert du VBA je pense.
En gros voici le problème.

Il y a 2 onglets.

En feuil2, il s'agit d'investissement actuel (situation courante du portefeuille).

En Feuil1, quand il y a un INS en colonne J, ca signifie qu'un nouvel investissement a été fait.

Le nom de l'investissement est en colonne A dans les 2 onglets.

Quand il y a une ligne avec "INS" en Ji dans Feuil1, il faudrait aller copier la cellule ki dans la cellule AS de feuil2 où le code (colonne A) Match entre les 2

Example.
Feuil1, il y a un nouvel investissement en ligne 7(il y a un INS en J7). Donc la cellule k7 doit etre copier dans Feuil2 cellule AS5 (les 2 codes correspondent "AT0000A001X2 Corp" dans les colonnes A des 2 onglets)

Merci beaucoup

j-ai cette macro sur excel 2003 et ell ene fonctionne pas sur excle 2010.help

macro excel2003
Private Sub CommandButton2_Click()
Dim cel As Range 'define Variable cel (CELlule)
Dim r As Range 'define Variable r (Recherche)

'Loop for all edited cell in column J"
For Each cel In Sheets("FonteMovimentazione1").Range("J6:J" & Sheets("FonteMovimentazione1").Cells(Application.Rows.Count, 10).End(xlUp).Row)
If cel.Value = "INS" Then 'condition 1 : if cell value is "INS"
'définit la recherche r (dans la colonne A de l'onglet "Feuil2" la valeur correspondant à la colonne A de cel)
Set r = Sheets("FonteDati1").Columns(1).Find(Sheets("FonteMovimentazione1").Cells(cel.Row, 1), , xlValues, xlWhole)
If Not r Is Nothing Then 'condition 2 : if at least 1 occurence exists
cel.Offset(0, 1).Copy 'copy column K de cel
r.Offset(0, 44).PasteSpecial (xlPasteValues) 'past value in AS from r
End If 'end of condition 2
End If 'End of condition 1
Next cel 'next cell in the loop

Range("O4").Select
Selection.Copy
Range("N5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("J6:J90").Select
Selection.Copy
Range("O6").Select
ActiveSheet.Paste
Range("J6:J90").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub
 

Pièces jointes

  • test.xls
    19 KB · Affichages: 89
  • test.xls
    19 KB · Affichages: 94
  • test.xls
    19 KB · Affichages: 100

Discussions similaires

Réponses
2
Affichages
175
Réponses
21
Affichages
371
Réponses
5
Affichages
244
Réponses
11
Affichages
346
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…