Erreur sur une macro (VBA ) excel
Résolu
pixel
-
Pixel -
Pixel -
A voir également:
- Erreur sur une macro (VBA ) excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
3 réponses
Bonjour à tous,
A première vue c'est ce test qui n'est pas bon :
InStr(1, CStr(Range("C7").Value) <> "613")
Ecrire plutôt :
InStr(1, CStr(Range("C7").Value), "613") <> 0 idem pour D7 et E7
ou bien InStr(1, CStr(Range("C7").Value), "613") = 0 selon si l'on souhaite que la chaine contienne ou non "613"
A+
Cordialement,
A première vue c'est ce test qui n'est pas bon :
InStr(1, CStr(Range("C7").Value) <> "613")
Ecrire plutôt :
InStr(1, CStr(Range("C7").Value), "613") <> 0 idem pour D7 et E7
ou bien InStr(1, CStr(Range("C7").Value), "613") = 0 selon si l'on souhaite que la chaine contienne ou non "613"
A+
Cordialement,
Bonjour,
quelle ligne te génère une erreur ? Quel est le message d'erreur renvoyé par VBA ?
Sans ces informations, il est difficile de te répondre correctement.
Cordialement.
quelle ligne te génère une erreur ? Quel est le message d'erreur renvoyé par VBA ?
Sans ces informations, il est difficile de te répondre correctement.
Cordialement.
bonjour
avant tous merci de repondre a ma question
donc en faite je n'ai aucun message d'erreur qui s'affiche et aucune ligne qui ne marche pas mais seulement la condition du "If Range("K11") > Range("K9") And InStr(1, CStr(Range("C7").Value) <> "613") And InStr(1, CStr(Range("D7").Value) <> "613") And InStr(1, CStr(Range("E7").Value) <> "613") Then " ne marche pas. j'obtien rien dans mon tableau
avant tous merci de repondre a ma question
donc en faite je n'ai aucun message d'erreur qui s'affiche et aucune ligne qui ne marche pas mais seulement la condition du "If Range("K11") > Range("K9") And InStr(1, CStr(Range("C7").Value) <> "613") And InStr(1, CStr(Range("D7").Value) <> "613") And InStr(1, CStr(Range("E7").Value) <> "613") Then " ne marche pas. j'obtien rien dans mon tableau
Re bonjour,
Je répond à la dernière question.
Pour éliminer les lignes dans lesquelles la valeur C7 exsite déjà voila ma proposition :
à inserer avant le ENDIF
Le principe est de reparcourir (à l'envers) toutes les lignes du tableau depuis i-1 jusquen haut et de tester si la valeur dans C7 existe déjà.
Il faut vérifier si le tableau s'arrète bien en ligne 2 et si les test sont bien cela
A+
Je répond à la dernière question.
Pour éliminer les lignes dans lesquelles la valeur C7 exsite déjà voila ma proposition :
à inserer avant le ENDIF
...... 'Insérer une ligne dans le tableau "Tab récup données" fichier "Saisie" Worksheets("Tab récup données").Rows(2).Insert Shift:=xlShiftDown ' supprimer les doublons : For ilig = i - 1 To 2 Step -1 If Workbooks("Saisie.xls").Sheets("Tab récup données").Cells(ilig, 1).Value = Range("C7").Value _ Or Workbooks("Saisie.xls").Sheets("Tab récup données").Cells(ilig, 2).Value = Range("C7").Value Then Workbooks("Saisie.xls").Sheets("Tab récup données").Rows(ilig).Delete Shift:=xlUp End If Next ilig Endif
Le principe est de reparcourir (à l'envers) toutes les lignes du tableau depuis i-1 jusquen haut et de tester si la valeur dans C7 existe déjà.
Il faut vérifier si le tableau s'arrète bien en ligne 2 et si les test sont bien cela
A+
Bonjour Pixel,
Je suis resté absent un moment je n'ai donc pas vu le dernier message.
Pour le test, oui il faut l'adapter en se posant la question, une ligne doit être éliminée quand une certaine condition est remplie.
"B7=au nom du fournisseur,
cependant cette donne je veux voir si elle est dans toute la colonne C"
J'avoue que je ne comprends pas cette condition. Peux-tu être un peu plus explicite ?
A+
Je suis resté absent un moment je n'ai donc pas vu le dernier message.
Pour le test, oui il faut l'adapter en se posant la question, une ligne doit être éliminée quand une certaine condition est remplie.
"B7=au nom du fournisseur,
cependant cette donne je veux voir si elle est dans toute la colonne C"
J'avoue que je ne comprends pas cette condition. Peux-tu être un peu plus explicite ?
A+
alors il faut tester par rapport à 1 si C7 commence par 613 alors le InStr donnera 1
If Range("K11") > Range("K9") And InStr(1, CStr(Range("C7").Value), "613") = 1 And InStr(1, CStr(Range("D7").Value), "613") =1 And InStr(1, CStr(Range("E7").Value), "613") = 1 Then