Problème VBA
Le
albert

Bonsoir / Bonjour
Vous trouverez le fichier sur http://www.cjoint.com/c/FGxxZW40Hge
CJOINT.com a modifié l'extension XLSM en XLSX, il faut la modifier pour
ouvrir le fichier.
C'est un fichier plutôt simple mais j'ai décidé d'utiiser le VBA pour me
pratiquer.
C'est une copie simplifiée d'une application créée en 2012 (sur
MPFE -selectionner les 8 colonnes à droite)
mais dans ce cas -ci le TARGET est la colonne 5 seulement.
J'ai une erreur 1004, Erreur définie par l'application ou par l'objet.
Voici le code dans VISUAL Basic sur la Feuil1:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' original fait par Jacky 6 octobre 2012 et ensuite modifié par Albert
Dim LaLigne As Long
If Target.Column = 5 And Target.Row > 3 And (Cells(Target.Row, 5) > 0) Then
LaLigne = Target.Row
Cells(LaLigne, 5).FormulaR1C1 = "=((-RC3+RC4+R[-1]C5))"
Target.Offset(1, -4).Select
End Sub
Merci de m'aider
--
albertri-at-videotron.ca.invalid
Vous trouverez le fichier sur http://www.cjoint.com/c/FGxxZW40Hge
CJOINT.com a modifié l'extension XLSM en XLSX, il faut la modifier pour
ouvrir le fichier.
C'est un fichier plutôt simple mais j'ai décidé d'utiiser le VBA pour me
pratiquer.
C'est une copie simplifiée d'une application créée en 2012 (sur
MPFE -selectionner les 8 colonnes à droite)
mais dans ce cas -ci le TARGET est la colonne 5 seulement.
J'ai une erreur 1004, Erreur définie par l'application ou par l'objet.
Voici le code dans VISUAL Basic sur la Feuil1:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' original fait par Jacky 6 octobre 2012 et ensuite modifié par Albert
Dim LaLigne As Long
If Target.Column = 5 And Target.Row > 3 And (Cells(Target.Row, 5) > 0) Then
LaLigne = Target.Row
Cells(LaLigne, 5).FormulaR1C1 = "=((-RC3+RC4+R[-1]C5))"
Target.Offset(1, -4).Select
End Sub
Merci de m'aider
--
albertri-at-videotron.ca.invalid
c'est difficile de t'aider sans savoir le but rechercher
Cells(LaLigne, 5).FormulaR1C1 = "=((RC3+RC4+R[-1]C5))"
pourquoi ne pas mettre =($C4+$D4+$E3) en cellule E4 et recopier vers le bas ?
isabelle
Le 2016-07-23 à 20:18, albert a écrit :
If Target.Column = 5 And Target.Row > 3 And Target.Row > 3 Then
LaLigne = Target.Row
Cells(LaLigne, 5).FormulaR1C1 = "=((-RC3+RC4+R[-1]C5))"
Target.Offset(1, -4).Select
End If
Cordialement.
Daniel
PS. Pour récupérer le fichier au format xlsm, fais un clic droit sur le
bouton "Cliquez pouraccéder au fichier".
Le fichier original contient bien =($C4+$D4+$E3) recopié vers le bas, mais
j'ai pensé que pour apprendre le VBA il faut mettre les mains dedans. et le
fichier semblait assez simple pour cela.
Mais même après la correction de DanielCo j'ai encore la même erreur et la
ligne
Cells(LaLigne, 5).FormulaR1C1 = "=((-RC3+RC4+R[-1]C5))" est en jaune.
Merci
Albert
"isabelle" news:nn1e2c$1o6g$
Sur Cjoint le fichier est converti en XLSX même en suivant vos
recommendations, c'est nouveau depuis quelques jours.
Après avoir fait les changements suggérés j'ai encore le même erreur et la
ligne
Cells(LaLigne, 5).FormulaR1C1 = "=((-RC3+RC4+R[-1]C5))"
est encore en jaune.
Albert
"DanielCo" news:5794746e$0$23769$
essai comme ça,
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rw As Long
If Target.Column = 5 And Target.Row > 3 Then
rw = Target.Row
Cells(rw, 5).Formula = "=-" & Cells(rw, 3).Address & "+" & Cells(rw, 4).Address
& "+" & Cells(rw - 1, 5).Address
Range("A" & rw).Select
End If
End Sub
isabelle
Le 2016-07-24 à 08:02, albert a écrit :
Cela fonctionnne parfaitement et sans message d'erreur.
Pour moi c'est une nouvelle façon de faire et je ne trouve nulle part
l'explication de ce format.
Merci
Albert
"isabelle" news:nn2ct3$snh$