Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

condition "si alors sinon" sur vba

15 réponses
Avatar
pauline
Boujour à toutes et à tous

Je souhaitrai introduire la condition sinon après ma formule, mais je ne
sais pas comment m'y prendre.
Je voudrai que si la 1ère condition n'est pas remplie, il passe à la 2ème
condition.

for each c in range ("a1:a6000")
if c.value=txtfact then
range ("b" & c).value=txt
end if
next c
'SINON
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
range ("a" & num).value=txt
end with
end sub

merci pour votre aide

10 réponses

1 2
Avatar
Antoine76
Bonjour

je ne suis pas sur d'avoir bien compris ce que tu voulais faire ; Sauf
erreur de ma part, il n'y a qu'une seule condition dans ton programme ; Si
c'est bien cela, il suffirait alors de faire remonter l'ensemble de la "2ème
condition" avant End If et d'y faire suivre ce qui correspond à ta 2ème
condition...
?
Sinon ...

Antoine
"pauline" a écrit dans le message de news:
#
Boujour à toutes et à tous

Je souhaitrai introduire la condition sinon après ma formule, mais je ne
sais pas comment m'y prendre.
Je voudrai que si la 1ère condition n'est pas remplie, il passe à la 2ème
condition.

for each c in range ("a1:a6000")
if c.value=txtfact then
range ("b" & c).value=txt
end if
next c
'SINON
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
range ("a" & num).value=txt
end with
end sub

merci pour votre aide





Avatar
Jacquouille
Bonsoir Pauline
Vraiment pas le temps, mais regarde à If ....then .....else
si...alors.....sinon.
Si c'est rouge, alors tu freines, sinon tu accélères.-)))
Bon réveillon

--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/

Jacquouille.

"pauline" a écrit dans le message de news:
%
Boujour à toutes et à tous

Je souhaitrai introduire la condition sinon après ma formule, mais je ne
sais pas comment m'y prendre.
Je voudrai que si la 1ère condition n'est pas remplie, il passe à la 2ème
condition.

for each c in range ("a1:a6000")
if c.value=txtfact then
range ("b" & c).value=txt
end if
next c
'SINON
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
range ("a" & num).value=txt
end with
end sub

merci pour votre aide





Avatar
pauline
Merci et bon reveillon a toi aussi, je vais essayer ta propositon
"Jacquouille" a écrit dans le message de
news: uJkQd$
Bonsoir Pauline
Vraiment pas le temps, mais regarde à If ....then .....else
si...alors.....sinon.
Si c'est rouge, alors tu freines, sinon tu accélères.-)))
Bon réveillon

--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/

Jacquouille.

"pauline" a écrit dans le message de news:
%
Boujour à toutes et à tous

Je souhaitrai introduire la condition sinon après ma formule, mais je ne
sais pas comment m'y prendre.
Je voudrai que si la 1ère condition n'est pas remplie, il passe à la 2ème
condition.

for each c in range ("a1:a6000")
if c.value=txtfact then
range ("b" & c).value=txt
end if
next c
'SINON
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
range ("a" & num).value=txt
end with
end sub

merci pour votre aide









Avatar
Sitting Hoax
Bonsoir,
tu peux ajouter Else ou ElseIf
dans l'aide de VBA, c'est bien expliqué
pour ton cas :
***********
For Each c In Range("a1:a6000")
If c.Value = txtfact Then
Range("b" & c).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
Sheets("recap").Range("a" & num).Value = txt
End If
Next c
End Sub
************
je pense que ça ira avec ça,
bon Noël ! :-)
Amicalement
SItting Hoax


"pauline" a écrit dans le message de news:
%
Boujour à toutes et à tous

Je souhaitrai introduire la condition sinon après ma formule, mais je ne
sais pas comment m'y prendre.
Je voudrai que si la 1ère condition n'est pas remplie, il passe à la 2ème
condition.

for each c in range ("a1:a6000")
if c.value=txtfact then
range ("b" & c).value=txt
end if
next c
'SINON
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
range ("a" & num).value=txt
end with
end sub

merci pour votre aide





Avatar
pauline
Bonsoir "sitting hoax"

J'ai essayé avec else, mais il fait les 2 actions alors qu'il devrait faire
soit l'une soit l'autre....
Bon reveillon !

"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le message
de news:
Bonsoir,
tu peux ajouter Else ou ElseIf
dans l'aide de VBA, c'est bien expliqué
pour ton cas :
***********
For Each c In Range("a1:a6000")
If c.Value = txtfact Then
Range("b" & c).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
Sheets("recap").Range("a" & num).Value = txt
End If
Next c
End Sub
************
je pense que ça ira avec ça,
bon Noël ! :-)
Amicalement
SItting Hoax


"pauline" a écrit dans le message de news:
%
Boujour à toutes et à tous

Je souhaitrai introduire la condition sinon après ma formule, mais je ne
sais pas comment m'y prendre.
Je voudrai que si la 1ère condition n'est pas remplie, il passe à la 2ème
condition.

for each c in range ("a1:a6000")
if c.value=txtfact then
range ("b" & c).value=txt
end if
next c
'SINON
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
range ("a" & num).value=txt
end with
end sub

merci pour votre aide









Avatar
Sitting Hoax
Bonsoir,
il semble qu'il y ait un problème dans ta macro.
La valeur de c dans Range("b" & c).Value = txt
ne serait elle pas plutôt c.row ? ou c.row+1 ?
ce qui expliquerait que la macro saute cette instruction.
Range("b" & c.row).Value = txt

Je suppose (peut être à tort) que lorsque la valeur de la cellule C =
txtfact ,
(txtfact est elle une valeur numérique ? )
tu veux que s'inscrive à ses côtés, colonne B, la valeur txt
SINON, dans la colonne A de la feuille recap, s'inscrit la valeur txt dans
la dernière cellule vide ?
Chez moi, cette macro fait cela, je ne vois pas ce qui cloche.

For Each c In Range("a1:a6000")
If c.Value =txtfact Then
'Range("b" & c).Value = txt
Range("b" & c.Row).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
Range("a" & num).Value = txt
End With
End If
Next c
End Sub

Si tu pouvais expliquer ce que tu désires obtenir comme résultat,
on pourrait peut être corriger la macro.
Amicalement
Sitting Hoax

"pauline" a écrit dans le message de news:

Bonsoir "sitting hoax"

J'ai essayé avec else, mais il fait les 2 actions alors qu'il devrait
faire soit l'une soit l'autre....
Bon reveillon !

"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le message
de news:
Bonsoir,
tu peux ajouter Else ou ElseIf
dans l'aide de VBA, c'est bien expliqué
pour ton cas :
***********
For Each c In Range("a1:a6000")
If c.Value = txtfact Then
Range("b" & c).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
Sheets("recap").Range("a" & num).Value = txt
End If
Next c
End Sub
************
je pense que ça ira avec ça,
bon Noël ! :-)
Amicalement
SItting Hoax


"pauline" a écrit dans le message de news:
%
Boujour à toutes et à tous

Je souhaitrai introduire la condition sinon après ma formule, mais je ne
sais pas comment m'y prendre.
Je voudrai que si la 1ère condition n'est pas remplie, il passe à la
2ème condition.

for each c in range ("a1:a6000")
if c.value=txtfact then
range ("b" & c).value=txt
end if
next c
'SINON
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
range ("a" & num).value=txt
end with
end sub

merci pour votre aide













Avatar
pauline
Bonsoir Siiting Hoax

Merci de te pencher sur mon problème.

Effectivement, je vois que tu as bien compris ce que je voulais faire. Il
s'agit d'une appli de facturation.

Donc, j'ai dans ma colonne A de ma feuille "recap" une liste de numéros de
fact.
J'ai un formulaire avec 2 TXT. Dans TXTFACT j'ai un numéo de facture.
Je souhaiterais que:
1) il regarde dans la colonne A de ma feuille "recap" si le numéro dans
TXTFACT est présent (donc, il sagit d'une facture déjà créée que
l'utilisateur a rappelé et a fait des modifs)
2) si, oui, donc, il m'envoi le contenu de TXT sur la ligne
correspondnate;(il me modifie donc ma ligne avec les nouvelles données)
3)si, non il me l'envoi dans la dernière ligne vide.(il s'agit d'une
npouvelle facture)

Merci de ton aide car je n'arrive pas à décrocher de ce problème et chez
moi, ils râlent car ils m'attendent pour réveillonner...et moi je ne veux
pas abandonner!

Tu réveillonnes toi aussi?

Pauline


"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le message
de news:
Bonsoir,
il semble qu'il y ait un problème dans ta macro.
La valeur de c dans Range("b" & c).Value = txt
ne serait elle pas plutôt c.row ? ou c.row+1 ?
ce qui expliquerait que la macro saute cette instruction.
Range("b" & c.row).Value = txt

Je suppose (peut être à tort) que lorsque la valeur de la cellule C =
txtfact ,
(txtfact est elle une valeur numérique ? )
tu veux que s'inscrive à ses côtés, colonne B, la valeur txt
SINON, dans la colonne A de la feuille recap, s'inscrit la valeur txt dans
la dernière cellule vide ?
Chez moi, cette macro fait cela, je ne vois pas ce qui cloche.

For Each c In Range("a1:a6000")
If c.Value =txtfact Then
'Range("b" & c).Value = txt
Range("b" & c.Row).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
Range("a" & num).Value = txt
End With
End If
Next c
End Sub

Si tu pouvais expliquer ce que tu désires obtenir comme résultat,
on pourrait peut être corriger la macro.
Amicalement
Sitting Hoax

"pauline" a écrit dans le message de news:

Bonsoir "sitting hoax"

J'ai essayé avec else, mais il fait les 2 actions alors qu'il devrait
faire soit l'une soit l'autre....
Bon reveillon !

"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le
message de news:
Bonsoir,
tu peux ajouter Else ou ElseIf
dans l'aide de VBA, c'est bien expliqué
pour ton cas :
***********
For Each c In Range("a1:a6000")
If c.Value = txtfact Then
Range("b" & c).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
Sheets("recap").Range("a" & num).Value = txt
End If
Next c
End Sub
************
je pense que ça ira avec ça,
bon Noël ! :-)
Amicalement
SItting Hoax


"pauline" a écrit dans le message de
news: %
Boujour à toutes et à tous

Je souhaitrai introduire la condition sinon après ma formule, mais je
ne sais pas comment m'y prendre.
Je voudrai que si la 1ère condition n'est pas remplie, il passe à la
2ème condition.

for each c in range ("a1:a6000")
if c.value=txtfact then
range ("b" & c).value=txt
end if
next c
'SINON
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
range ("a" & num).value=txt
end with
end sub

merci pour votre aide

















Avatar
Sitting Hoax
Bonsoir, c'est déjà un peu plus clair.
excuse le retard, mais j'ai attaqué le réveillon...
Je pense que ceci devrait marcher
si le numéro de facture est présent la macro inscrit txt dans la colonne B
en face de C
sinon, en bas de la colonne A, elle inscrit le nouveau nuéro de facture et
en face, colonne B la valeur txt
******************
For Each c In Range("a1:a6000")
If c.Value = txtfact Then
num = c.Row
Range("B" & num).Value = txt
Exit For
'SINON
Else
num2 = Sheets("recap").Range("A65536").End(xlUp)(2).Row
Sheets("recap").Range("A" & num2).Value = txt
Sheets("recap").Range("B" & num2).Value = txt
Exit For
End If
Next c
End Sub

*******************
Bon réveillon
Amicalement
Sitting Hoax

"pauline" a écrit dans le message de news:

Bonsoir Siiting Hoax

Merci de te pencher sur mon problème.

Effectivement, je vois que tu as bien compris ce que je voulais faire. Il
s'agit d'une appli de facturation.

Donc, j'ai dans ma colonne A de ma feuille "recap" une liste de numéros de
fact.
J'ai un formulaire avec 2 TXT. Dans TXTFACT j'ai un numéo de facture.
Je souhaiterais que:
1) il regarde dans la colonne A de ma feuille "recap" si le numéro dans
TXTFACT est présent (donc, il sagit d'une facture déjà créée que
l'utilisateur a rappelé et a fait des modifs)
2) si, oui, donc, il m'envoi le contenu de TXT sur la ligne
correspondnate;(il me modifie donc ma ligne avec les nouvelles données)
3)si, non il me l'envoi dans la dernière ligne vide.(il s'agit d'une
npouvelle facture)

Merci de ton aide car je n'arrive pas à décrocher de ce problème et chez
moi, ils râlent car ils m'attendent pour réveillonner...et moi je ne veux
pas abandonner!

Tu réveillonnes toi aussi?

Pauline


"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le message
de news:
Bonsoir,
il semble qu'il y ait un problème dans ta macro.
La valeur de c dans Range("b" & c).Value = txt
ne serait elle pas plutôt c.row ? ou c.row+1 ?
ce qui expliquerait que la macro saute cette instruction.
Range("b" & c.row).Value = txt

Je suppose (peut être à tort) que lorsque la valeur de la cellule C =
txtfact ,
(txtfact est elle une valeur numérique ? )
tu veux que s'inscrive à ses côtés, colonne B, la valeur txt
SINON, dans la colonne A de la feuille recap, s'inscrit la valeur txt
dans la dernière cellule vide ?
Chez moi, cette macro fait cela, je ne vois pas ce qui cloche.

For Each c In Range("a1:a6000")
If c.Value =txtfact Then
'Range("b" & c).Value = txt
Range("b" & c.Row).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
Range("a" & num).Value = txt
End With
End If
Next c
End Sub

Si tu pouvais expliquer ce que tu désires obtenir comme résultat,
on pourrait peut être corriger la macro.
Amicalement
Sitting Hoax

"pauline" a écrit dans le message de news:

Bonsoir "sitting hoax"

J'ai essayé avec else, mais il fait les 2 actions alors qu'il devrait
faire soit l'une soit l'autre....
Bon reveillon !

"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le
message de news:
Bonsoir,
tu peux ajouter Else ou ElseIf
dans l'aide de VBA, c'est bien expliqué
pour ton cas :
***********
For Each c In Range("a1:a6000")
If c.Value = txtfact Then
Range("b" & c).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
Sheets("recap").Range("a" & num).Value = txt
End If
Next c
End Sub
************
je pense que ça ira avec ça,
bon Noël ! :-)
Amicalement
SItting Hoax


"pauline" a écrit dans le message de
news: %
Boujour à toutes et à tous

Je souhaitrai introduire la condition sinon après ma formule, mais je
ne sais pas comment m'y prendre.
Je voudrai que si la 1ère condition n'est pas remplie, il passe à la
2ème condition.

for each c in range ("a1:a6000")
if c.value=txtfact then
range ("b" & c).value=txt
end if
next c
'SINON
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
range ("a" & num).value=txt
end with
end sub

merci pour votre aide





















Avatar
pauline
Bonjour et joyeux noël,

J'espère que tu tu as été gaté par le père noël!

Je reviens sur mon petit problème (qui me met en rage depuis hier car j'ai
beau retourner le code dans tous les sens je n'arrive pas a avoir le
résultat escompté. Pourtant, je suis la logique du: Si dans ma colonne
A1:A6000, il existe une valeur corespondante à TXT FACT donc, inscrire sur
cette ligne la valeur de TXT, SINON, inscrire sur la dernière ligne vide).

Quand je recopie ton code , il ignore la première condition et m'inscrit à
la dernère ligne vide dans colonne A le numéro de fact saisie dans TXTFACT
même s'il est existant.

Comment traduis t-on le SINON en VBA?

Merci pour ta réponse
Pauline

"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le message
de news:
Bonsoir, c'est déjà un peu plus clair.
excuse le retard, mais j'ai attaqué le réveillon...
Je pense que ceci devrait marcher
si le numéro de facture est présent la macro inscrit txt dans la colonne B
en face de C
sinon, en bas de la colonne A, elle inscrit le nouveau nuéro de facture et
en face, colonne B la valeur txt
******************
For Each c In Range("a1:a6000")
If c.Value = txtfact Then
num = c.Row
Range("B" & num).Value = txt
Exit For
'SINON
Else
num2 = Sheets("recap").Range("A65536").End(xlUp)(2).Row
Sheets("recap").Range("A" & num2).Value = txt
Sheets("recap").Range("B" & num2).Value = txt
Exit For
End If
Next c
End Sub

*******************
Bon réveillon
Amicalement
Sitting Hoax

"pauline" a écrit dans le message de news:

Bonsoir Siiting Hoax

Merci de te pencher sur mon problème.

Effectivement, je vois que tu as bien compris ce que je voulais faire. Il
s'agit d'une appli de facturation.

Donc, j'ai dans ma colonne A de ma feuille "recap" une liste de numéros
de fact.
J'ai un formulaire avec 2 TXT. Dans TXTFACT j'ai un numéo de facture.
Je souhaiterais que:
1) il regarde dans la colonne A de ma feuille "recap" si le numéro dans
TXTFACT est présent (donc, il sagit d'une facture déjà créée que
l'utilisateur a rappelé et a fait des modifs)
2) si, oui, donc, il m'envoi le contenu de TXT sur la ligne
correspondnate;(il me modifie donc ma ligne avec les nouvelles données)
3)si, non il me l'envoi dans la dernière ligne vide.(il s'agit d'une
npouvelle facture)

Merci de ton aide car je n'arrive pas à décrocher de ce problème et chez
moi, ils râlent car ils m'attendent pour réveillonner...et moi je ne veux
pas abandonner!

Tu réveillonnes toi aussi?

Pauline


"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le
message de news:
Bonsoir,
il semble qu'il y ait un problème dans ta macro.
La valeur de c dans Range("b" & c).Value = txt
ne serait elle pas plutôt c.row ? ou c.row+1 ?
ce qui expliquerait que la macro saute cette instruction.
Range("b" & c.row).Value = txt

Je suppose (peut être à tort) que lorsque la valeur de la cellule C =
txtfact ,
(txtfact est elle une valeur numérique ? )
tu veux que s'inscrive à ses côtés, colonne B, la valeur txt
SINON, dans la colonne A de la feuille recap, s'inscrit la valeur txt
dans la dernière cellule vide ?
Chez moi, cette macro fait cela, je ne vois pas ce qui cloche.

For Each c In Range("a1:a6000")
If c.Value =txtfact Then
'Range("b" & c).Value = txt
Range("b" & c.Row).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
Range("a" & num).Value = txt
End With
End If
Next c
End Sub

Si tu pouvais expliquer ce que tu désires obtenir comme résultat,
on pourrait peut être corriger la macro.
Amicalement
Sitting Hoax

"pauline" a écrit dans le message de
news:
Bonsoir "sitting hoax"

J'ai essayé avec else, mais il fait les 2 actions alors qu'il devrait
faire soit l'une soit l'autre....
Bon reveillon !

"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le
message de news:
Bonsoir,
tu peux ajouter Else ou ElseIf
dans l'aide de VBA, c'est bien expliqué
pour ton cas :
***********
For Each c In Range("a1:a6000")
If c.Value = txtfact Then
Range("b" & c).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
Sheets("recap").Range("a" & num).Value = txt
End If
Next c
End Sub
************
je pense que ça ira avec ça,
bon Noël ! :-)
Amicalement
SItting Hoax


"pauline" a écrit dans le message de
news: %
Boujour à toutes et à tous

Je souhaitrai introduire la condition sinon après ma formule, mais je
ne sais pas comment m'y prendre.
Je voudrai que si la 1ère condition n'est pas remplie, il passe à la
2ème condition.

for each c in range ("a1:a6000")
if c.value=txtfact then
range ("b" & c).value=txt
end if
next c
'SINON
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
range ("a" & num).value=txt
end with
end sub

merci pour votre aide

























Avatar
Jacquouille
Bonjour Pauline
Dans ma première réponse, je te suggérais le ELSE qui fait partie de la
trilogie IF ....THEN .....ELSE.
IF tu as compris cette réponse THEN exit message AND GO TO Excel ELSE tu
relis bien la doc.
Bonne chance
PS Je sens que le Beau Marseillais va se repointer. -))
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/

Jacquouille.

"pauline" a écrit dans le message de news:

Bonjour et joyeux noël,

J'espère que tu tu as été gaté par le père noël!

Je reviens sur mon petit problème (qui me met en rage depuis hier car j'ai
beau retourner le code dans tous les sens je n'arrive pas a avoir le
résultat escompté. Pourtant, je suis la logique du: Si dans ma colonne
A1:A6000, il existe une valeur corespondante à TXT FACT donc, inscrire sur
cette ligne la valeur de TXT, SINON, inscrire sur la dernière ligne vide).

Quand je recopie ton code , il ignore la première condition et m'inscrit à
la dernère ligne vide dans colonne A le numéro de fact saisie dans TXTFACT
même s'il est existant.

Comment traduis t-on le SINON en VBA?

Merci pour ta réponse
Pauline

"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le message
de news:
Bonsoir, c'est déjà un peu plus clair.
excuse le retard, mais j'ai attaqué le réveillon...
Je pense que ceci devrait marcher
si le numéro de facture est présent la macro inscrit txt dans la colonne
B en face de C
sinon, en bas de la colonne A, elle inscrit le nouveau nuéro de facture
et en face, colonne B la valeur txt
******************
For Each c In Range("a1:a6000")
If c.Value = txtfact Then
num = c.Row
Range("B" & num).Value = txt
Exit For
'SINON
Else
num2 = Sheets("recap").Range("A65536").End(xlUp)(2).Row
Sheets("recap").Range("A" & num2).Value = txt
Sheets("recap").Range("B" & num2).Value = txt
Exit For
End If
Next c
End Sub

*******************
Bon réveillon
Amicalement
Sitting Hoax

"pauline" a écrit dans le message de news:

Bonsoir Siiting Hoax

Merci de te pencher sur mon problème.

Effectivement, je vois que tu as bien compris ce que je voulais faire.
Il s'agit d'une appli de facturation.

Donc, j'ai dans ma colonne A de ma feuille "recap" une liste de numéros
de fact.
J'ai un formulaire avec 2 TXT. Dans TXTFACT j'ai un numéo de facture.
Je souhaiterais que:
1) il regarde dans la colonne A de ma feuille "recap" si le numéro dans
TXTFACT est présent (donc, il sagit d'une facture déjà créée que
l'utilisateur a rappelé et a fait des modifs)
2) si, oui, donc, il m'envoi le contenu de TXT sur la ligne
correspondnate;(il me modifie donc ma ligne avec les nouvelles données)
3)si, non il me l'envoi dans la dernière ligne vide.(il s'agit d'une
npouvelle facture)

Merci de ton aide car je n'arrive pas à décrocher de ce problème et chez
moi, ils râlent car ils m'attendent pour réveillonner...et moi je ne
veux pas abandonner!

Tu réveillonnes toi aussi?

Pauline


"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le
message de news:
Bonsoir,
il semble qu'il y ait un problème dans ta macro.
La valeur de c dans Range("b" & c).Value = txt
ne serait elle pas plutôt c.row ? ou c.row+1 ?
ce qui expliquerait que la macro saute cette instruction.
Range("b" & c.row).Value = txt

Je suppose (peut être à tort) que lorsque la valeur de la cellule C =
txtfact ,
(txtfact est elle une valeur numérique ? )
tu veux que s'inscrive à ses côtés, colonne B, la valeur txt
SINON, dans la colonne A de la feuille recap, s'inscrit la valeur txt
dans la dernière cellule vide ?
Chez moi, cette macro fait cela, je ne vois pas ce qui cloche.

For Each c In Range("a1:a6000")
If c.Value =txtfact Then
'Range("b" & c).Value = txt
Range("b" & c.Row).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
Range("a" & num).Value = txt
End With
End If
Next c
End Sub

Si tu pouvais expliquer ce que tu désires obtenir comme résultat,
on pourrait peut être corriger la macro.
Amicalement
Sitting Hoax

"pauline" a écrit dans le message de
news:
Bonsoir "sitting hoax"

J'ai essayé avec else, mais il fait les 2 actions alors qu'il devrait
faire soit l'une soit l'autre....
Bon reveillon !

"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le
message de news:
Bonsoir,
tu peux ajouter Else ou ElseIf
dans l'aide de VBA, c'est bien expliqué
pour ton cas :
***********
For Each c In Range("a1:a6000")
If c.Value = txtfact Then
Range("b" & c).Value = txt
'SINON
Else
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
Sheets("recap").Range("a" & num).Value = txt
End If
Next c
End Sub
************
je pense que ça ira avec ça,
bon Noël ! :-)
Amicalement
SItting Hoax


"pauline" a écrit dans le message de
news: %
Boujour à toutes et à tous

Je souhaitrai introduire la condition sinon après ma formule, mais
je ne sais pas comment m'y prendre.
Je voudrai que si la 1ère condition n'est pas remplie, il passe à la
2ème condition.

for each c in range ("a1:a6000")
if c.value=txtfact then
range ("b" & c).value=txt
end if
next c
'SINON
num = Sheets("recap").Range("A65536").End(xlUp).Row + 1
With Sheets("recap")
range ("a" & num).value=txt
end with
end sub

merci pour votre aide





























1 2