Code simple qui plante dès le début

Bonjour,

Quelqu'un aurait la gentillesse pour voir mon code simple qui plante ?

Sub Saisi_AutoCde()

Application.ScreenUpdating = False 'est primordiale si l'on veut gagner afin d'optimiser lors, du traitement
'en écriture sur des Ranges ou sur des Manipulation de Feuilles.

Dim Cde As Variant
Dim MaValeur As Variant
Dim MaPlage As Range
Dim MaColonne As Single
Dim i As Variant
Dim x As Integer
Dim nbligne As Integer
Dim Dte As String
'Données pour la recherchev
MaValeur = Sheets("ici").Range("B2") 'ma valeur de recherchev
Set MaPlage = Sheets("EQV_DEST").Range("A:C") 'mes colonnes de recherchev de l'onglet "EQV_DEST"
MaColonne = 3 'ma recherchev se fait sur la 3e colonne
ValeurProche = False ' valeur faux

Sheets("ici").Range("C7").Select
Range(ActiveCell, ActiveCell.End(xlDown)).Copy Sheets("Commande").Range("P2")

Sheets("ici").Range("D7").Select
Range(ActiveCell, ActiveCell.End(xlDown)).Copy Sheets("Commande").Range("S2")

Sheets("ici").Range("E7").Select
Range(ActiveCell, ActiveCell.End(xlDown)).Copy Sheets("Commande").Range("Q2")

If IsError(Application.VLookup(MaValeur, MaPlage, MaColonne, ValeurProche)) Then
MsgBox "Le code destinataire de la Cde client est inconnue dans l'onglet du tableau EQV_DEST"

Else
i = Application.VLookup(MaValeur, MaPlage, MaColonne, ValeurProche)
End If

nbligne = Sheets("Commande").Range("P" & Rows.Count).End(xlUp).Row
Cde = Sheets("ici").Range("D1") 'j'affecte la donnée à une variable
Dte = InputBox("Saisir la DATE DE LIV prévue comme ceci : jj/mm/aaa La date ne doit pas être révolue", "SAISIE DATE LIV")
If Dte = "" Then Exit Sub

For x = 2 To nbligne

If Sheets("Commande").Range("P" & x) <> "" Then
Sheets("Commande").Range("D" & x).Value = i And Sheets("Commande").Range("A" & x).Value = Cde

End If
Next x

End Sub

Edit modo : code mis entre balises, merci d'y faire attention la prochaine fois

Hello,

Alors, première chose tu as oublié de réactiver le Application.ScreenUpdating à la fin.

Après il serait bien de nous dire sur quelle ligne de code l'erreur intervient...

Je vois que tu utilises Application.Vlookup, je sais que j'ai eu des soucis avec ça. J'utilise plutôt Application.WorksheetFunction.Vlookup

Également sur tes lignes de conditions, tu ne dis pas à quelle valeur est liée le IsError.

Exemple, il faudrait essayer avec ça :

If IsError(Application.VLookup(MaValeur, MaPlage, MaColonne, ValeurProche)) = True Then

N'hésite pas si besoin

@+

Bonjour Dangdang,

Vous voudrez bien respecter la charte du forum indiqué sur votre précédent post
https://forum.excel-pratique.com/s/goto/1106581

Vous auriez lu la charte, il y est indiqué qu'il faut mettre le code entre balises

image

La prochaine fois c'est poubelle... merci d'y faire attention

Bonsoir,

Merci à vous temps d'avoir pris le temps pour lire mon code parmi des milliers.

Et désolé pour BrunoM45 car je vous assure que j'ai lu la charte mais pas fais attention.

Je reviens à mon code 1. Le souci provenait du fait qu'il a fallu coder en sélectionnant les n° de feuilles souhaitées à chaque fois.

ex Sheets(1).select

Re,

Je pense que vous n'avez pas fait attention non plus pour ceci

  • Ne postez pas la même question sur un autre forum pour éviter de faire perdre bêtement du temps aux membres sur un problème qui peut être déjà résolu sur l'autre forum. L'inverse est également valable, si vous avez déjà posé votre question sur un autre forum, ne créez pas un doublon sur ce forum (à moins d'avoir clôturé le sujet sur l'autre forum).

Navré, mais je clôture ce fil

Rechercher des sujets similaires à "code simple qui plante debut"