Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème dans insertion de formule

15 réponses
Avatar
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 =100
Correction 10
A1=100-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

10 réponses

1 2
Avatar
michdenis
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" a écrit dans le message de groupe de 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
Avatar
isabelle
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



Avatar
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" a écrit dans le message de groupe de 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



Avatar
isabelle
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




Avatar
michdenis
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" a écrit dans le message de groupe de 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" a écrit dans le message de groupe de
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



Avatar
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" a écrit dans le message de groupe de 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" a écrit dans le message de groupe de
> 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
>


Avatar
michdenis
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" a écrit dans le message de groupe de discussion
:
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" a écrit dans le message de groupe de
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" a écrit dans le message de groupe de
> 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
>


Avatar
ttcpp
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" a écrit dans le message de groupe de discussion
:
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" a écrit dans le message de groupe de
> 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" a écrit dans le message de groupe de
> > 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
> >


Avatar
michdenis
| 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
Avatar
ttcpp
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






1 2