Incompatibilité de type

Bonjour,

voici le code qui pose problème, avec le débogage surligné, je précise que la macro fonctionne mais que le pop-up "incompatibilité de type" s'affiche quand même (donc c'est un peu pénible de devoir le fermer à chaque fois)

Dim x As Variant

For x = 19 To 42

With Sheets("MODELE")

If Range("G" & x) = "" Then Range("G" & x) = Range("K" & x) * (1 - Range("L" & x))

End With

Next x

End Sub

Les cases Gx et Lx sont des cases à remplir manuellement et les cases Kx renvoient à une rechercheV donnant un montant.

Le problème semble venir du fait de multiplier les valeur de deux cases car quand je retire ce calcul [ex: Range("G" & x) = Range("K" & x)] le code fonctionne sans erreur

Merci à l'âme charitable qui pourra m'aider

Bonjour,

Essaie:

Option Explicit
Public Sub test()
Dim i As Byte
    For i = 19 To 42
        With Sheets("MODELE")
            If .Range("G" & i) = Empty Then .Range("G" & i) = .Range("K" & i) * (1 - .Range("L" & i))
        End With
    Next i
End Sub

Le fait de déclarer le x en byte ne change rien.

J'ai aussi ajouté les "." devant les range et remplacer "" par empty mais le problème persiste.

Merci quand même

Re,

Re, voilou

La macro concernée est nommée "AppliquerPrixRemise"

Merci

Re,

C'est pas gagné

Option Explicit
Public Sub AppliquerPrixRemise()
' AppliquerPrixRemise Macro'
Dim x As Byte

    For x = 19 To 42
        With Sheets("MODELE")
            If .Range("G" & x) = Empty And IsNumeric(.Range("K" & x)) And IsNumeric(.Range("L" & x)) Then
                .Range("G" & x) = .Range("K" & x) * (1 - .Range("L" & x))
            End If
        End With
    Next x

End Sub

Top, ca marche.

Merci beaucoup

Rechercher des sujets similaires à "incompatibilite type"