Problème dans insertion de formule

Le
ttcpp
Bonjour,

J'ai écris une petite macro qui me permet de faire une correction dans une
cellule en gardant sa valeur d'origine.
exemple :
A1 0
Correction 10
A10-10
Cela marche très bien pour des valeurs entières mais pas pour les autres.
J'ai en retour un erreur 1004 que je n'arrive pas à corriger.

voici le code écris :
Sub Test_Operation()
Dim i As Double
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")

For i = 30 To ActiveSheet.Range("C65000").End(xlUp).Row
If IsEmpty(Range("AE" & i).Value) Then
Range("" & Col_rep & "" & i).Value = Range("" & Col_rep & "" &
i).Value
Else
Range("" & Col_rep & "" & i).Formula = "=" & Range("" & Col_rep & ""
& i).Value & " - " & Range("AE" & i).Value
Range("" & Col_rep & "" & i).Select
Selection.Font.ColorIndex = 5
End If
Next i
End sub

Merci pour votre aide

Thierry
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #20485411
Bonjour,

Essaie ceci :

'--------------------------------------
Sub Test_Operation()
Dim i As Integer, DerLig As Long
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")
If Col_rep = "" Then Exit Sub
On Error Resume Next
Set rg = Range(Col_rep & 1)
If Err <> 0 Then
Err = 0
MsgBox "La donnée saisie ne représente " & _
"pas une lettre d'une colonne de la feuille." & _
" Opération annulée", vbCritical + vbOKOnly, "Attention"
Exit Sub
End If
DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
For i = 30 To DerLig
If IsEmpty(Range("AE" & i).Value) Then
Range(Col_rep & i).Value = _
Range(Col_rep & i).Value
Else
Range(Col_rep & i).Formula = "=" & _
Range(Col_rep & i).Value & " - " & _
Range("AE" & i).Value
Range(Col_rep & i).Select
Selection.Font.ColorIndex = 5
End If
Next i
End Sub
'--------------------------------------



"ttcpp" :
Bonjour,

J'ai écris une petite macro qui me permet de faire une correction dans une
cellule en gardant sa valeur d'origine.
exemple :
A1 0
Correction 10
A10-10
Cela marche très bien pour des valeurs entières mais pas pour les autres.
J'ai en retour un erreur 1004 que je n'arrive pas à corriger.

voici le code écris :
Sub Test_Operation()
Dim i As Double
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")

For i = 30 To ActiveSheet.Range("C65000").End(xlUp).Row
If IsEmpty(Range("AE" & i).Value) Then
Range("" & Col_rep & "" & i).Value = Range("" & Col_rep & "" &
i).Value
Else
Range("" & Col_rep & "" & i).Formula = "=" & Range("" & Col_rep & ""
& i).Value & " - " & Range("AE" & i).Value
Range("" & Col_rep & "" & i).Select
Selection.Font.ColorIndex = 5
End If
Next i
End sub

Merci pour votre aide

Thierry
isabelle
Le #20485401
bonjour Thierry ,

dit moi si c'est mieux,

Sub Test_Operation()
Dim i As Double
Dim Col_rep As String
Col_rep = "C"
For i = 1 To ActiveSheet.Range("C65000").End(xlUp).Row
If IsEmpty(Range("AE" & i)) Then
Range(Col_rep & i) = Range(Col_rep & i)
Else
With Range(Col_rep & i)
.Formula = "=" & Range(Col_rep & i) & " - " & Range("AE" & i)
.Font.ColorIndex = 5
.NumberFormat = "0.000000" ' à adapter
End If
Next i
End Sub

isabelle

ttcpp a écrit :
Bonjour,

J'ai écris une petite macro qui me permet de faire une correction dans une
cellule en gardant sa valeur d'origine.
exemple :
A1 0
Correction 10
A10-10
Cela marche très bien pour des valeurs entières mais pas pour les autres.
J'ai en retour un erreur 1004 que je n'arrive pas à corriger.

voici le code écris :
Sub Test_Operation()
Dim i As Double
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")

For i = 30 To ActiveSheet.Range("C65000").End(xlUp).Row
If IsEmpty(Range("AE" & i).Value) Then
Range("" & Col_rep & "" & i).Value = Range("" & Col_rep & "" &
i).Value
Else
Range("" & Col_rep & "" & i).Formula = "=" & Range("" & Col_rep & ""
& i).Value & " - " & Range("AE" & i).Value
Range("" & Col_rep & "" & i).Select
Selection.Font.ColorIndex = 5
End If
Next i
End sub

Merci pour votre aide

Thierry



ttcpp
Le #20485661
Merci pour ta réponse.
Mais je n'ai pas le résultat escompté.
En fait je veux voir la formule dans la cellule au lieu du résultat.


"michdenis" wrote:

Bonjour,

Essaie ceci :

'--------------------------------------
Sub Test_Operation()
Dim i As Integer, DerLig As Long
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")
If Col_rep = "" Then Exit Sub
On Error Resume Next
Set rg = Range(Col_rep & 1)
If Err <> 0 Then
Err = 0
MsgBox "La donnée saisie ne représente " & _
"pas une lettre d'une colonne de la feuille." & _
" Opération annulée", vbCritical + vbOKOnly, "Attention"
Exit Sub
End If
DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
For i = 30 To DerLig
If IsEmpty(Range("AE" & i).Value) Then
Range(Col_rep & i).Value = _
Range(Col_rep & i).Value
Else
Range(Col_rep & i).Formula = "=" & _
Range(Col_rep & i).Value & " - " & _
Range("AE" & i).Value
Range(Col_rep & i).Select
Selection.Font.ColorIndex = 5
End If
Next i
End Sub
'--------------------------------------



"ttcpp" :
Bonjour,

J'ai écris une petite macro qui me permet de faire une correction dans une
cellule en gardant sa valeur d'origine.
exemple :
A1 0
Correction 10
A10-10
Cela marche très bien pour des valeurs entières mais pas pour les autres.
J'ai en retour un erreur 1004 que je n'arrive pas à corriger.

voici le code écris :
Sub Test_Operation()
Dim i As Double
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")

For i = 30 To ActiveSheet.Range("C65000").End(xlUp).Row
If IsEmpty(Range("AE" & i).Value) Then
Range("" & Col_rep & "" & i).Value = Range("" & Col_rep & "" &
i).Value
Else
Range("" & Col_rep & "" & i).Formula = "=" & Range("" & Col_rep & ""
& i).Value & " - " & Range("AE" & i).Value
Range("" & Col_rep & "" & i).Select
Selection.Font.ColorIndex = 5
End If
Next i
End sub

Merci pour votre aide

Thierry



isabelle
Le #20485651
bonjour Thierry ,

j'avais oublier un End With le revoici avec, dit moi si c'est mieux,

Sub Test_Operation()
Dim i As Double
Dim Col_rep As String
Col_rep = "C"
For i = 1 To ActiveSheet.Range("C65000").End(xlUp).Row
If IsEmpty(Range("AE" & i)) Then
Range(Col_rep & i) = Range(Col_rep & i)
Else
With Range(Col_rep & i)
.Formula = "=" & Range(Col_rep & i) & " - " & Range("AE" & i)
.Font.ColorIndex = 5
.NumberFormat = "0.000000" ' à adapter
End With
End If
Next i
End Sub

isabelle

isabelle a écrit :
bonjour Thierry ,

dit moi si c'est mieux,

Sub Test_Operation()
Dim i As Double
Dim Col_rep As String
Col_rep = "C"
For i = 1 To ActiveSheet.Range("C65000").End(xlUp).Row
If IsEmpty(Range("AE" & i)) Then
Range(Col_rep & i) = Range(Col_rep & i)
Else
With Range(Col_rep & i)
.Formula = "=" & Range(Col_rep & i) & " - " & Range("AE" & i)
.Font.ColorIndex = 5
.NumberFormat = "0.000000" ' à adapter
End If
Next i
End Sub

isabelle

ttcpp a écrit :
Bonjour,

J'ai écris une petite macro qui me permet de faire une correction
dans une cellule en gardant sa valeur d'origine.
exemple : A1 0
Correction 10
A10-10
Cela marche très bien pour des valeurs entières mais pas pour les
autres. J'ai en retour un erreur 1004 que je n'arrive pas à corriger.

voici le code écris :
Sub Test_Operation()
Dim i As Double
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")

For i = 30 To ActiveSheet.Range("C65000").End(xlUp).Row
If IsEmpty(Range("AE" & i).Value) Then
Range("" & Col_rep & "" & i).Value = Range("" & Col_rep & ""
& i).Value
Else
Range("" & Col_rep & "" & i).Formula = "=" & Range("" &
Col_rep & "" & i).Value & " - " & Range("AE" & i).Value
Range("" & Col_rep & "" & i).Select
Selection.Font.ColorIndex = 5
End If
Next i
End sub

Merci pour votre aide

Thierry




michdenis
Le #20485641
Sub Test_Operation()
Dim i As Integer, DerLig As Long
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")
If Col_rep = "" Then Exit Sub
On Error Resume Next
Set rg = Range(Col_rep & 1)
If Err <> 0 Then
Err = 0
MsgBox "La donnée saisie ne représente " & _
"pas une lettre d'une colonne de la feuille." & _
" Opération annulée", vbCritical + vbOKOnly, "Attention"
Exit Sub
End If
DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
For i = 30 To DerLig
If IsEmpty(Range("AE" & i).Value) Then
Range(Col_rep & i).Formula = _
"=" & Range(Col_rep & i).Address(0, 0)
Else
With Range(Col_rep & i)
.Formula = "=" & _
Range(Col_rep & i).Address(0, 0) & " - " & _
Range("AE" & i).Address(0, 0)
.Font.ColorIndex = 5
End With
End If
Next i
End Sub





"ttcpp" :
Merci pour ta réponse.
Mais je n'ai pas le résultat escompté.
En fait je veux voir la formule dans la cellule au lieu du résultat.


"michdenis" wrote:

Bonjour,

Essaie ceci :

'--------------------------------------
Sub Test_Operation()
Dim i As Integer, DerLig As Long
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")
If Col_rep = "" Then Exit Sub
On Error Resume Next
Set rg = Range(Col_rep & 1)
If Err <> 0 Then
Err = 0
MsgBox "La donnée saisie ne représente " & _
"pas une lettre d'une colonne de la feuille." & _
" Opération annulée", vbCritical + vbOKOnly, "Attention"
Exit Sub
End If
DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
For i = 30 To DerLig
If IsEmpty(Range("AE" & i).Value) Then
Range(Col_rep & i).Value = _
Range(Col_rep & i).Value
Else
Range(Col_rep & i).Formula = "=" & _
Range(Col_rep & i).Value & " - " & _
Range("AE" & i).Value
Range(Col_rep & i).Select
Selection.Font.ColorIndex = 5
End If
Next i
End Sub
'--------------------------------------



"ttcpp" discussion
:
Bonjour,

J'ai écris une petite macro qui me permet de faire une correction dans une
cellule en gardant sa valeur d'origine.
exemple :
A1 0
Correction 10
A10-10
Cela marche très bien pour des valeurs entières mais pas pour les autres.
J'ai en retour un erreur 1004 que je n'arrive pas à corriger.

voici le code écris :
Sub Test_Operation()
Dim i As Double
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")

For i = 30 To ActiveSheet.Range("C65000").End(xlUp).Row
If IsEmpty(Range("AE" & i).Value) Then
Range("" & Col_rep & "" & i).Value = Range("" & Col_rep & "" &
i).Value
Else
Range("" & Col_rep & "" & i).Formula = "=" & Range("" & Col_rep & ""
& i).Value & " - " & Range("AE" & i).Value
Range("" & Col_rep & "" & i).Select
Selection.Font.ColorIndex = 5
End If
Next i
End sub

Merci pour votre aide

Thierry



ttcpp
Le #20485741
Désolé mais cela ne fonctionne pas du tout
Cela boucle sans fin ???
et en plus dans la cellule j'ai Ã-AE3 alieu d'avoir l'opération
C3 = (ancienne valeur de C3) - la valeur de AE




"michdenis" wrote:

Sub Test_Operation()
Dim i As Integer, DerLig As Long
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")
If Col_rep = "" Then Exit Sub
On Error Resume Next
Set rg = Range(Col_rep & 1)
If Err <> 0 Then
Err = 0
MsgBox "La donnée saisie ne représente " & _
"pas une lettre d'une colonne de la feuille." & _
" Opération annulée", vbCritical + vbOKOnly, "Attention"
Exit Sub
End If
DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
For i = 30 To DerLig
If IsEmpty(Range("AE" & i).Value) Then
Range(Col_rep & i).Formula = _
"=" & Range(Col_rep & i).Address(0, 0)
Else
With Range(Col_rep & i)
.Formula = "=" & _
Range(Col_rep & i).Address(0, 0) & " - " & _
Range("AE" & i).Address(0, 0)
.Font.ColorIndex = 5
End With
End If
Next i
End Sub





"ttcpp" :
Merci pour ta réponse.
Mais je n'ai pas le résultat escompté.
En fait je veux voir la formule dans la cellule au lieu du résultat.


"michdenis" wrote:

> Bonjour,
>
> Essaie ceci :
>
> '--------------------------------------
> Sub Test_Operation()
> Dim i As Integer, DerLig As Long
> Dim Col_rep As String
> Col_rep = InputBox("Colonne a modifier :")
> If Col_rep = "" Then Exit Sub
> On Error Resume Next
> Set rg = Range(Col_rep & 1)
> If Err <> 0 Then
> Err = 0
> MsgBox "La donnée saisie ne représente " & _
> "pas une lettre d'une colonne de la feuille." & _
> " Opération annulée", vbCritical + vbOKOnly, "Attention"
> Exit Sub
> End If
> DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
> For i = 30 To DerLig
> If IsEmpty(Range("AE" & i).Value) Then
> Range(Col_rep & i).Value = _
> Range(Col_rep & i).Value
> Else
> Range(Col_rep & i).Formula = "=" & _
> Range(Col_rep & i).Value & " - " & _
> Range("AE" & i).Value
> Range(Col_rep & i).Select
> Selection.Font.ColorIndex = 5
> End If
> Next i
> End Sub
> '--------------------------------------
>
>
>
> "ttcpp" > discussion
> :
> Bonjour,
>
> J'ai écris une petite macro qui me permet de faire une correction dans une
> cellule en gardant sa valeur d'origine.
> exemple :
> A1 0
> Correction 10
> A10-10
> Cela marche très bien pour des valeurs entières mais pas pour les autres.
> J'ai en retour un erreur 1004 que je n'arrive pas à corriger.
>
> voici le code écris :
> Sub Test_Operation()
> Dim i As Double
> Dim Col_rep As String
> Col_rep = InputBox("Colonne a modifier :")
>
> For i = 30 To ActiveSheet.Range("C65000").End(xlUp).Row
> If IsEmpty(Range("AE" & i).Value) Then
> Range("" & Col_rep & "" & i).Value = Range("" & Col_rep & "" &
> i).Value
> Else
> Range("" & Col_rep & "" & i).Formula = "=" & Range("" & Col_rep & ""
> & i).Value & " - " & Range("AE" & i).Value
> Range("" & Col_rep & "" & i).Select
> Selection.Font.ColorIndex = 5
> End If
> Next i
> End sub
>
> Merci pour votre aide
>
> Thierry
>


michdenis
Le #20486001
Ta demande initiale était alors loin d'être claire !

Essaie ceci :

Sub Test_Operation()
Dim i As Integer, DerLig As Long
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")
If Col_rep = "" Then Exit Sub
On Error Resume Next
Set rg = Range(Col_rep & 1)
If Err <> 0 Then
Err = 0
MsgBox "La donnée saisie ne représente " & _
"pas une lettre d'une colonne de la feuille." & _
" Opération annulée", vbCritical + vbOKOnly, "Attention"
Exit Sub
End If
DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
Application.EnableEvents = False
For i = 30 To DerLig
If IsEmpty(Range("AE" & i).Value) Then
Range(Col_rep & i).Formula = _
"=" & Range(Col_rep & i).Address(0, 0)
Else
With Range(Col_rep & i)
.Formula = "=" & _
Range(Col_rep & i).Value & " - " & _
Range("AE" & i).Address(0, 0)
.Font.ColorIndex = 5
End With
End If
Next i
Application.EnableEvents = True
End Sub





"ttcpp" :
Désolé mais cela ne fonctionne pas du tout
Cela boucle sans fin ???
et en plus dans la cellule j'ai Ã-AE3 alieu d'avoir l'opération
C3 = (ancienne valeur de C3) - la valeur de AE




"michdenis" wrote:

Sub Test_Operation()
Dim i As Integer, DerLig As Long
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")
If Col_rep = "" Then Exit Sub
On Error Resume Next
Set rg = Range(Col_rep & 1)
If Err <> 0 Then
Err = 0
MsgBox "La donnée saisie ne représente " & _
"pas une lettre d'une colonne de la feuille." & _
" Opération annulée", vbCritical + vbOKOnly, "Attention"
Exit Sub
End If
DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
For i = 30 To DerLig
If IsEmpty(Range("AE" & i).Value) Then
Range(Col_rep & i).Formula = _
"=" & Range(Col_rep & i).Address(0, 0)
Else
With Range(Col_rep & i)
.Formula = "=" & _
Range(Col_rep & i).Address(0, 0) & " - " & _
Range("AE" & i).Address(0, 0)
.Font.ColorIndex = 5
End With
End If
Next i
End Sub





"ttcpp" discussion
:
Merci pour ta réponse.
Mais je n'ai pas le résultat escompté.
En fait je veux voir la formule dans la cellule au lieu du résultat.


"michdenis" wrote:

> Bonjour,
>
> Essaie ceci :
>
> '--------------------------------------
> Sub Test_Operation()
> Dim i As Integer, DerLig As Long
> Dim Col_rep As String
> Col_rep = InputBox("Colonne a modifier :")
> If Col_rep = "" Then Exit Sub
> On Error Resume Next
> Set rg = Range(Col_rep & 1)
> If Err <> 0 Then
> Err = 0
> MsgBox "La donnée saisie ne représente " & _
> "pas une lettre d'une colonne de la feuille." & _
> " Opération annulée", vbCritical + vbOKOnly, "Attention"
> Exit Sub
> End If
> DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
> For i = 30 To DerLig
> If IsEmpty(Range("AE" & i).Value) Then
> Range(Col_rep & i).Value = _
> Range(Col_rep & i).Value
> Else
> Range(Col_rep & i).Formula = "=" & _
> Range(Col_rep & i).Value & " - " & _
> Range("AE" & i).Value
> Range(Col_rep & i).Select
> Selection.Font.ColorIndex = 5
> End If
> Next i
> End Sub
> '--------------------------------------
>
>
>
> "ttcpp" > discussion
> :
> Bonjour,
>
> J'ai écris une petite macro qui me permet de faire une correction dans une
> cellule en gardant sa valeur d'origine.
> exemple :
> A1 0
> Correction 10
> A10-10
> Cela marche très bien pour des valeurs entières mais pas pour les autres.
> J'ai en retour un erreur 1004 que je n'arrive pas à corriger.
>
> voici le code écris :
> Sub Test_Operation()
> Dim i As Double
> Dim Col_rep As String
> Col_rep = InputBox("Colonne a modifier :")
>
> For i = 30 To ActiveSheet.Range("C65000").End(xlUp).Row
> If IsEmpty(Range("AE" & i).Value) Then
> Range("" & Col_rep & "" & i).Value = Range("" & Col_rep & "" &
> i).Value
> Else
> Range("" & Col_rep & "" & i).Formula = "=" & Range("" & Col_rep & ""
> & i).Value & " - " & Range("AE" & i).Value
> Range("" & Col_rep & "" & i).Select
> Selection.Font.ColorIndex = 5
> End If
> Next i
> End sub
>
> Merci pour votre aide
>
> Thierry
>


ttcpp
Le #20486221
Merci, on avance car c'est presque que cela.
En fait c'est la valeur de la cellule AE et non son adresse qu'il faut que
je récupére.
Désolé pour les explications qui n'ont pas été trés claires mais ce n'est
pas toujours facile de l'exprimer par écrit, l'idéale étant une fichier
exemple

"michdenis" wrote:

Ta demande initiale était alors loin d'être claire !

Essaie ceci :

Sub Test_Operation()
Dim i As Integer, DerLig As Long
Dim Col_rep As String
Col_rep = InputBox("Colonne a modifier :")
If Col_rep = "" Then Exit Sub
On Error Resume Next
Set rg = Range(Col_rep & 1)
If Err <> 0 Then
Err = 0
MsgBox "La donnée saisie ne représente " & _
"pas une lettre d'une colonne de la feuille." & _
" Opération annulée", vbCritical + vbOKOnly, "Attention"
Exit Sub
End If
DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
Application.EnableEvents = False
For i = 30 To DerLig
If IsEmpty(Range("AE" & i).Value) Then
Range(Col_rep & i).Formula = _
"=" & Range(Col_rep & i).Address(0, 0)
Else
With Range(Col_rep & i)
.Formula = "=" & _
Range(Col_rep & i).Value & " - " & _
Range("AE" & i).Address(0, 0)
.Font.ColorIndex = 5
End With
End If
Next i
Application.EnableEvents = True
End Sub





"ttcpp" :
Désolé mais cela ne fonctionne pas du tout
Cela boucle sans fin ???
et en plus dans la cellule j'ai Ã-AE3 alieu d'avoir l'opération
C3 = (ancienne valeur de C3) - la valeur de AE




"michdenis" wrote:

> Sub Test_Operation()
> Dim i As Integer, DerLig As Long
> Dim Col_rep As String
> Col_rep = InputBox("Colonne a modifier :")
> If Col_rep = "" Then Exit Sub
> On Error Resume Next
> Set rg = Range(Col_rep & 1)
> If Err <> 0 Then
> Err = 0
> MsgBox "La donnée saisie ne représente " & _
> "pas une lettre d'une colonne de la feuille." & _
> " Opération annulée", vbCritical + vbOKOnly, "Attention"
> Exit Sub
> End If
> DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
> For i = 30 To DerLig
> If IsEmpty(Range("AE" & i).Value) Then
> Range(Col_rep & i).Formula = _
> "=" & Range(Col_rep & i).Address(0, 0)
> Else
> With Range(Col_rep & i)
> .Formula = "=" & _
> Range(Col_rep & i).Address(0, 0) & " - " & _
> Range("AE" & i).Address(0, 0)
> .Font.ColorIndex = 5
> End With
> End If
> Next i
> End Sub
>
>
>
>
>
> "ttcpp" > discussion
> :
> Merci pour ta réponse.
> Mais je n'ai pas le résultat escompté.
> En fait je veux voir la formule dans la cellule au lieu du résultat.
>
>
> "michdenis" wrote:
>
> > Bonjour,
> >
> > Essaie ceci :
> >
> > '--------------------------------------
> > Sub Test_Operation()
> > Dim i As Integer, DerLig As Long
> > Dim Col_rep As String
> > Col_rep = InputBox("Colonne a modifier :")
> > If Col_rep = "" Then Exit Sub
> > On Error Resume Next
> > Set rg = Range(Col_rep & 1)
> > If Err <> 0 Then
> > Err = 0
> > MsgBox "La donnée saisie ne représente " & _
> > "pas une lettre d'une colonne de la feuille." & _
> > " Opération annulée", vbCritical + vbOKOnly, "Attention"
> > Exit Sub
> > End If
> > DerLig = ActiveSheet.Range("C65000").End(xlUp).Row
> > For i = 30 To DerLig
> > If IsEmpty(Range("AE" & i).Value) Then
> > Range(Col_rep & i).Value = _
> > Range(Col_rep & i).Value
> > Else
> > Range(Col_rep & i).Formula = "=" & _
> > Range(Col_rep & i).Value & " - " & _
> > Range("AE" & i).Value
> > Range(Col_rep & i).Select
> > Selection.Font.ColorIndex = 5
> > End If
> > Next i
> > End Sub
> > '--------------------------------------
> >
> >
> >
> > "ttcpp" > > discussion
> > :
> > Bonjour,
> >
> > J'ai écris une petite macro qui me permet de faire une correction dans une
> > cellule en gardant sa valeur d'origine.
> > exemple :
> > A1 0
> > Correction 10
> > A10-10
> > Cela marche très bien pour des valeurs entières mais pas pour les autres.
> > J'ai en retour un erreur 1004 que je n'arrive pas à corriger.
> >
> > voici le code écris :
> > Sub Test_Operation()
> > Dim i As Double
> > Dim Col_rep As String
> > Col_rep = InputBox("Colonne a modifier :")
> >
> > For i = 30 To ActiveSheet.Range("C65000").End(xlUp).Row
> > If IsEmpty(Range("AE" & i).Value) Then
> > Range("" & Col_rep & "" & i).Value = Range("" & Col_rep & "" &
> > i).Value
> > Else
> > Range("" & Col_rep & "" & i).Formula = "=" & Range("" & Col_rep & ""
> > & i).Value & " - " & Range("AE" & i).Value
> > Range("" & Col_rep & "" & i).Select
> > Selection.Font.ColorIndex = 5
> > End If
> > Next i
> > End sub
> >
> > Merci pour votre aide
> >
> > Thierry
> >


michdenis
Le #20486201
| En fait c'est la valeur de la cellule AE et non son adresse qu'il faut que
| je récupére.

Dans le code, tu changes la propriété .address(0,0) pour .Value
ttcpp
Le #20486471
J'ai essayé .value
Cela fonctionne sur des entiers mais pas sur des valeurs décimales (à moins
que cela soit à cause de ma config excel)

"michdenis" wrote:

| En fait c'est la valeur de la cellule AE et non son adresse qu'il faut que
| je récupére.

Dans le code, tu changes la propriété .address(0,0) pour .Value






Publicité
Poster une réponse
Anonyme