OVH Cloud OVH Cloud

Pourquoi ça ne foncionne pas

2 réponses
Avatar
Christine
Bonjour,

Voici mon code qui, malheureusement, ne fonctionne pas.

Lorsqu'une valeur est différente dans une des cellules, l'insertion de
cellule ne fonctionne pas. Est-ce que quelqu'un pourrait m'aider

Sub Macro1()
Range("a1").Activate
Dim i As Long
With Range("a1")
Do Until ActiveCell.Value < 0.01
If .Offset(0, 0) = .Offset(0, 3) Then
If .Offset(0, 1) = .Offset(0, 4) Then
If .Offset(0, 2) = .Offset(0, 5) Then
.Offset(1, 0).Select
Else
.Range(Cells(i + 1, 4), Cells(i + 1,
7)).Selection.Insert Shift:=xlDown
.Offset(1, 0).Select
End If
End If
End If
Loop
End With
End Sub

Merci beaucoup de votre aide.

Christine

2 réponses

Avatar
michdenis
Bonjour Christine,

2 Choses :

A )
Ta variable i n'est pas initialée : Aucune valeur ne lui a été attribuée ! Est-elle vraiment utile ?


B ) L'expression "Selection" est de trop dans ta ligne de code"

Cette ligne fonctionne ...
.Range(Cells(i + 1, 4), Cells(i + 1, 7)).Insert Shift:=xlDown

Est-ce que cela solutionnera tout ?


Salutations!


"Christine" a écrit dans le message de news:d12Wc.9843$
Bonjour,

Voici mon code qui, malheureusement, ne fonctionne pas.

Lorsqu'une valeur est différente dans une des cellules, l'insertion de
cellule ne fonctionne pas. Est-ce que quelqu'un pourrait m'aider

Sub Macro1()
Range("a1").Activate
Dim i As Long
With Range("a1")
Do Until ActiveCell.Value < 0.01
If .Offset(0, 0) = .Offset(0, 3) Then
If .Offset(0, 1) = .Offset(0, 4) Then
If .Offset(0, 2) = .Offset(0, 5) Then
.Offset(1, 0).Select
Else
.Range(Cells(i + 1, 4), Cells(i + 1,
7)).Selection.Insert Shift:=xlDown
.Offset(1, 0).Select
End If
End If
End If
Loop
End With
End Sub

Merci beaucoup de votre aide.

Christine
Avatar
Christine
Bonjour,

J'ai refait mon code mais je ne peux toujours pas insérer de cellule de la
colone 4 à 7.

Solution ?

Merci

Sub Macro1()
Range("a1").Activate
With Range("a1")
Do Until ActiveCell.Value < 0.01
Cellule_1:
If ActiveCell.Offset(0, 0) = ActiveCell.Offset(0, 3) Then
GoTo Cellule_2
Else
.Range(Cells(0, 4), Cells(0, 7)).Insert Shift:=xlDown
ActiveCell.Offset(0, 6).Value = "Change"
ActiveCell.Offset(1, 0).Select
Cellule_2:
If ActiveCell.Offset(0, 1) = ActiveCell.Offset(0, 4) Then
GoTo Cellule_3
Else
.Range(Cells(0, 4), Cells(0, 7)).Insert Shift:=xlDown
ActiveCell.Offset(0, 6).Value = "Change"
ActiveCell.Offset(1, 0).Select
Cellule_3:
If ActiveCell.Offset(0, 2) = ActiveCell.Offset(0, 5)
Then
ActiveCell.Offset(1, 0).Select
Else
.Range(Cells(0, 4), Cells(0, 7)).Insert
Shift:=xlDown
ActiveCell.Offset(0, 6).Value = "Change"
ActiveCell.Offset(1, 0).Select
End If
End If
End If
Loop
End With
End Sub