Problème de codage Excel 2013 et Excel 2019 La methode 'Range a echoué

Bonjour à tous,

J'ai un problème de code entre un Excell 2013 et un Excel 2019.

Voici mon code :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
   Worksheets("Base").Activate
        If Not Intersect(Range("A1.A30000"), Target) Is Nothing Then
        ActiveCell.Copy
        Sheets("Devis").Range("A30000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
        End If
    If Not Application.Intersect(Target, Range("G1")) Is Nothing Then
        Sheets("Devis").Select
    End If
End Sub

Sur Excel 2013 il fonctionne très bien mais dès que je passe sur Excel 2019 il me met le message d'erreur suivant:

1

Pouvez-vous m'aider svp ?

Cordialement.

Paulo

bonjour,

si c'est sur cette instruction

If Not Intersect(Range("A1.A30000"), Target) Is Nothing Then

la syntaxe n'est pas correcte cela doit être

If Not Intersect(Range("A1:A30000"), Target) Is Nothing Then

sinon merci d'indiquer l'instruction qui provoque l'erreur.

Bonjour Paulo, h2so4

Je ne comprends pas très bien ce codage à la base

Ou se fait le double clic ?

A+

Bonjour …

Il faut savoir que l’évènementielle (ici DoubleClick) n’est lancée que si on le fait depuis la feuille dans laquelle elle est proposée.

Le code doit s’écrire dans la fenêtre des codes de celle-ci (clic droit sur son nom puis Visualiser le Code).

En complément de la proposition de h2so4 , le tien corrigé devrait ressembler à

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Cancel = True
  If Not Intersect(Range("A1:A30000"), Target) Is Nothing Then
    Target.Copy Sheets("Devis").Range("A30000").End(xlUp)(2)
  End If
  If Not Application.Intersect(Target, Range("G1")) Is Nothing Then Sheets("Devis").Select
End Sub

Maintenant, faudra-t-il éviter les doublons ou pas ?

Bonjour messieurs,

En fin de compte, quand je double clique sur l'une des cellules de la colonne A dans la feuille "Base" la valeur de cette cellule (dans la feuille "Base") se copie dans la dernière cellule de la colonne A remplie dans la feuille "Devis".

Mais ce que je ne comprends pas c'est que cela fonctionne très bien sur Excel 2013 mais pas sur Excel 2019.

Merci à vous

Bonjour,
h2so' a répondu à ta question dans son message.
Sinon :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    If Not Intersect(Target, Me.Range("A1:A30000")) Is Nothing Then
        Worksheets("Devis").Range("A30000").End(xlUp)(2).Value = Target.Value
    End If
    If Not Application.Intersect(Target, Me.Range("G1")) Is Nothing Then Worksheets("Devis").Select
End Sub

Merci à tous cela fonctionne

Rechercher des sujets similaires à "probleme codage 2013 2019 methode range echoue"