Problème vba [Excel]
Résolu
olympiklyon
Messages postés
63
Date d'inscription
Statut
Membre
Dernière intervention
-
olympiklyon Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
olympiklyon Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai problème au niveau d'un calcul [essai n1kjh] faisant référence à un autre classeur [BUFFET4P Mission]
Voici mon calcul
ActiveCell.FormulaR1C1 = "=R" & ligne & "C4-R" & ligne & "C9"
Le résultat doit s'écrire sur [essai n1kjh] et tout le calcul se fait sur [BUFFET4P Mission]. Je ne sais pas faire référence à l'autre car la formule est bonne. Ça sélectionne les cellules qu'il faut mais pas sur le bon classeur
A+
olympikyon =)
J'ai problème au niveau d'un calcul [essai n1kjh] faisant référence à un autre classeur [BUFFET4P Mission]
Voici mon calcul
ActiveCell.FormulaR1C1 = "=R" & ligne & "C4-R" & ligne & "C9"
Le résultat doit s'écrire sur [essai n1kjh] et tout le calcul se fait sur [BUFFET4P Mission]. Je ne sais pas faire référence à l'autre car la formule est bonne. Ça sélectionne les cellules qu'il faut mais pas sur le bon classeur
A+
olympikyon =)
2 réponses
-
Je ne suis pas pro du VBA,mais dans mais anciennes lectures ,je me souviens que tu pouvias créer des macros en enregistrant tes tâches.Cela va te générer le code.
Par exemple:Tu peux créer une macro qui transfert les donnés d'un classeur A vers B,en selectionnant ou non des cellules.
Pour le faire sur Excel (2007)
affichage-->macro-->enregistrer une macro.Puis tu suis les instruction et enregistre ta macro dans le disque dur pour visualiser le code et le réutiliser.
Paulnero-
-
Déja tu nous a parlé de deux classeurs et non deux feuilles, car en lisant Ctesias, je vois qu'il n' a pas bien saisi ta requête.
Pour moi je te conseillerai de regarder bien des exemples de code VBA.Si tu as des bonnes connaissance en anglais informatique je te conseille ceci:
https://www.ozgrid.com/forum/index.php?thread/68240-remove-duplicates-other-criteria/&pageNo=1
ou encore
https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=23789&start=
paulnero -
-
-
Salut!
Si j'ai bien compris, tu as une formule dans une feuille, et tu veux le resultat dans ton autre feuille?
Alors, si ton calcule ets dans la feuille [essai n1kjh], celluls A1, et que tu veux le resultat dans la feuille [BUFFET4P Mission], cellule B3, tu met dans la celluls A1 ta formule, et dans B3 de l'autre feuille:
=[essai n1kjh]!A1
Maintenant, je vais te fairez la réponse VBA:
Dans ton code, tu devra mettre :
Sheets("[BUFFET4P Mission]").Cells(3,2).value = Sheets("[essai n1kjh]").cells(1,1).Value
Sachant que Sheets("") fais appel à la feuille, et que Cells s'utilise Cells(ligne, colonne). (tout en chiffre).
Je sais pas si ca a repondu à ta question, mai sinon, tu peux expliquer un peu plus.
Ctesias,-
-
Essais:
Workbook("classeur1").Sheets("[BUFFET4P Mission]").Cells(3,2).value = Workbook("classeur2").Sheets("[essai n1kjh]").cells(1,1).Value
Sinon, je ne comprend pas trop ce que tu me dis ici:
ca doit reprendre cette ligne (prenons la ligne 24 mais elle change selon l'action avant la macro) et faire D24 - I24.
Peu-tu m'éclairer? (pas avec une lampe...) -
Je te montre ma macro entière et je te explique
Sub Macro4()
'
' Macro4 Macro
'
' Touche de raccourci du clavier: Ctrl+o
ligne = ActiveCell.Row
nom = ActiveWorkbook.Name
Selection.Copy
Workbooks.Open "C:\Documents and Settings\JeanMarie\Bureau\essai n1kjh"
Windows("essai n1kjh.xls").Activate
' Selectionne la première cellule du tableau
Range("B7").Select
' Boucle tant que pas vide
Do While Not (IsEmpty(ActiveCell))
NbLigne = NbLigne + 1
Selection.Offset(1, 0).Select
Loop
Selection.PasteSpecial Paste:=xlPasteValues
MsgBox "Ligne " & ActiveCell.Row
Range("B7").Select
' Boucle tant que pas vide
Do While Not (IsEmpty(ActiveCell))
NbLigne = NbLigne + 1
Selection.Offset(1, 0).Select
Loop
Windows(nom).Activate
Range("I1").Select
Selection.Copy
Windows("essai n1kjh.xls").Activate
Selection.Offset(-1, -1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.Offset(0, 3).Select
Selection.ClearContents
Selection.Offset(0, 1).Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=R" & ligne & "C4-R" & ligne & "C8"
Windows("essai n1kjh.xls").Activate
ActiveWorkbook.Save
Workbooks("essai n1kjh.xls").Close
Windows(nom).Activate
End Sub -
-
-