Problème VBA

6 réponses
Avatar
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

6 réponses

Avatar
isabelle
bonjour Albert,
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 :
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
Avatar
DanielCo
Bonjour,
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".
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
Avatar
albert
Bonjour Isabelle
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" a écrit dans le message de
news:nn1e2c$1o6g$
bonjour Albert,
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 :
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
Avatar
albert
Bonjour DanielCo
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" a écrit dans le message de
news:5794746e$0$23769$
Bonjour,
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".
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
Avatar
isabelle
bonjour Albert,
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 :
Bonjour Isabelle
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
Avatar
albert
Bonsoir Isabelle
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" a écrit dans le message de
news:nn2ct3$snh$
bonjour Albert,
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 :
Bonjour Isabelle
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