Probleme puissance/multiplication

Bonjour,

J'ai un petit soucis avec ce bout de code :

Option Explicit

Sub test()

Sheets("test").Activate

cellule_nb

ActiveCell.Offset(0, 2).Activate

Dim i As Integer
i = 1

Do While ActiveCell.Offset(-1, 0) <> ""

ActiveCell = "test"

cellule_nb

i = i + i

ActiveCell.Offset(0, 2 * i).Activate

Loop

End Sub

Sub cellule_nb()

'se rend à la première case de la première dérivée
Range("a20").Activate

Do While Not IsNumeric(ActiveCell)

ActiveCell.Offset(1, 0).Activate

If ActiveCell = "" Then

Exit Do

End If

Loop

End Sub

Globalement, ma sub cellule_nb fonctionne très bien. elle se rend bien à la première case numérique dans ma collone A

Par contre, au niveau de ma sub test, au niveau de la boucle while, dans :

ActiveCell.Offset(0, 2 * i).Activate

Il me décale de 2^i à chaque itération au lieu de 2 x i.

Une idée sur le pourquoi du comment ?

Dans le fichier excel, seule la feuille test est en cause et le bouton 1 lance la macro.

Bonjour,

C'est juste arithmétique.

i + i au lieu (peut-être) de i + 1.

Fait ce test en ouvrant préalablement la fenêtre d'exécution VBE (Ctrl+G) :

Sub test()
Dim i As Integer
i = 1
Debug.Print "i + 1 -------------------"
Do While i < 10
    i = i + 1
    Debug.Print i & " => " & i * 2
Loop
Debug.Print "----------------------------------------"
Debug.Print "i + i -------------------"
i = 1
Do While i < 10
    i = i + i
    Debug.Print i & " => " & i * 2
Loop
End Sub

C'est très exactement ça, une bête erreur de frappe qui m'a fait mettre i + i au lieux de i + 1 ....

Je me sent un peu idiot du coup, merci beaucoup xD

Rechercher des sujets similaires à "probleme puissance multiplication"