Conditions avec If

Bonjour

J'utilise la macro suivante suggérée par

un utilisateur du forum.

Sub copy_result2()

Application.ScreenUpdating = False

Dim Valeur As Long

With Sheets("64_4t")

Valeur = .Range("bm" & Rows.Count).End(xlUp).Row

For i = 1 To Valeur

If .Range("u" & i) < 14 And Range("u" & i) > 0 Then '[/b][/b]

Sheets("resultat").Range("f" & .Range("n" & i).Value).Value = .Range("u" & i).Value

Sheets("resultat").Range("g" & .Range("n" & i).Value).Value = .Range("v" & i).Value

End If

If .Range("v" & i) < 14 And Range("v" & i) > 0 Then

Sheets("resultat").Range("f" & .Range("r" & i).Value).Value = .Range("v" & i).Value

Sheets("resultat").Range("g" & .Range("r" & i).Value).Value = .Range("u" & i).Value

End If

Next i

End With

Application.ScreenUpdating = True

End Sub

Je voudrais mettre

If .Range("v" & i) < 14 Then

et dans cette configuration j'ai une erreur 400

Merci de m'indiquer la correction

Pierre

Salut,

On peut voir ton fichier ?

Cordialement.

Ci joint fichier

En onglet Resultat

Colonne A bouton Copie Resultat

Le premier plante et le second fonctionne

Merci de regarder

Pierre

10tirage-4tour.xlsm (174.17 Ko)

Desolé

Il faut lire onglet 64_4t et non résultat

A +

Pierre

Salut,

Ton fichier est une véritable usine à gaz, ça fout un peu la trouille d’y mettre le nez.

De plus, tes codes sont assez emberlificotés – comme par exemple pourquoi mettre un ‘’With Sheets("64_4t")’’ alors que tu es justement sur la feuille "64_4t"au lancement de la macro, ou toutes ces instructions inutiles ‘’Values’’ – et tu as l’air de les modifier au petit bonheur la chance.

Un autre exemple d’aberration : Dans ta deuxième macro, tu démarres ta boucle ‘’For i = 1 To Valeur’’ à 1 alors qu’il n’y a rien d’inscrit dans les lignes 1 à 4, mais tu es sauvé par la condition suivante ‘’ If .Range("k" & i) < 14 And Range("k" & i) > 0 Then’’ et un autre exemple de petit bonheur la chance est que lorsque tu veux modifier ce passage, tu ne te rends pas compte que tu n’es plus sauvé par la ligne suivante si tu la tronques comme tu l’as fait : ‘’If .Range("l" & i) < 14 Then’’.

J’ai commencé par modifier ta boucle ainsi ‘’For i = 6 To Valeur’’ afin qu’elle ne démarre qu’à la première ligne utilisable, mais ça pète un peu plus loin.

Tout ceci pour te dire que j’abandonne, mais qu’il te reste un petit espoir si tu t’y prends correctement : Indique ce fil comme résolu et ouvres-en un autre sur lequel tu places immédiatement ton fichier. Donnes des explications claires et non contradictoires : sur ton tout premier message tu as écrit ‘’ Je voudrais mettre If .Range("v" & i) < 14 Then’’ mais dans ta macro tu as autre chose !! Etc.

Et si quelqu’un a le courage d’attaquer ton problème en toute connaissance de cause, tant mieux pour toi.

Bonsoir Pierre, Yvouille,

à tout hasard, un essai :

2tirage-4tour.xlsm (175.34 Ko)

* sur la feuille "resultat", tu peux voir en colonnes D et E qu'il n'y en n'a pas déjà

* va sur la feuille "64_4t" ; fais Ctrl e (ou clique sur le bouton « Copie Résultat »)

à toi de faire les vérifications.

dhany

Rechercher des sujets similaires à "conditions"