Utilisatio du if en VBA sur Excel

Fermé
Nicolas - 3 mai 2010 à 14:28
 Nicolas - 6 mai 2010 à 15:31
Bonjour a tous
j'ai un problème concernant VBA et si vous vous y connaissait un peu pouriez vous m'aider svp? merci d'avance

A voir également:

2 réponses

Ricky38 Messages postés 4347 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 458
3 mai 2010 à 14:31
Salut,

expose ton problème en détails et ce sera surement plus facile de t'aider ;)

Bonne journée
0
bonjour
alors mon problème est compliqué donc je vais essayer de bien vous l'expliquer. je vous met mon code que j'ai déja fait :

'si compte commençant par 613... alors
If InStr(1, CStr(Range("C7").Value), "613") <> 0 Then
i = 1
While Not IsEmpty(Cells(i, 1))
i = i + 1
Wend
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 1).Value = Range("C7").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 2).Value = Range("H10").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 3).Value = Range("B4").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 4).Value = Range("H5").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 5).Value = Range("H6").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 6).Value = Range("B5").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 7).Value = Range("C10").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 8).Value = Range("D62").Value
end If
If InStr(1, CStr(Range("D7").Value), "613") <> 0 Then
i = Range("K7").Value
While Not IsEmpty(Cells(i, 1))
i = i + 1
Wend
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 1).Value = Range("D7").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 2).Value = Range("H10").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 3).Value = Range("B4").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 4).Value = Range("H5").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 5).Value = Range("H6").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 6).Value = Range("B5").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 7).Value = Range("C10").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 8).Value = Range("D63").Value
End If
If InStr(1, CStr(Range("E7").Value), "613") <> 0 Then
i = Range("K7").Value
While Not IsEmpty(Cells(i, 1))
i = i + 1
Wend
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 1).Value = Range("E7").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 2).Value = Range("H10").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 3).Value = Range("B4").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 4).Value = Range("H5").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 5).Value = Range("H6").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 6).Value = Range("B5").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 7).Value = Range("C10").Value
Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 8).Value = Range("D64").Value
End If



donc je vous explique ce que je veux faire. j'ai 3 cellules "C7", "D7" et "E7". je voudrais que si la cellule C7 comporte un numero commençant par 613 alors mon code s'aplique mais si les autre cellules ("D7" et "E7") commence également par 613 alors un code s'aplique mais si eventuellement deux cellules commence par 613 alors que cela soit pris en compte. j'espère que vous avez compris. merci d'avance
0
bonjour
je sais pas si vous avez vu un peu le code que j'ai fait. si oui pouvez vous me dir si vous avez une idée? merci d'avance
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
6 mai 2010 à 09:39
j'ai 3 cellules "C7", "D7" et "E7". je voudrais que si la cellule C7 comporte un numero commençant par 613 alors mon code s'aplique mais si les autre cellules ("D7" et "E7") commence également par 613 alors un code s'aplique mais si eventuellement deux cellules commence par 613 alors que cela soit pris en compte. j'espère que vous avez compris.
non
En gros, il doit s'appliquer que si C7 commence par 613 ou bien si les 3 cellules commencent par 613 ?
En plus dans ton code tu mets <> 613 c'est à dire le contraire... Que veux-tu que l'on comprenne ?
0
nn pas tous a fait. je peux avoir C7 et D7 qui commence par 613 et il faut donc que c'est deux valeure apparaisse dans mon tableau.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
6 mai 2010 à 09:55
Bon, ben tant que tu ne t'expliqueras pas mieux je crains que tu ne restes seul un moment...
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 mai 2010 à 10:54
Bonjour,

Tu ne t'appelles plus Marie ... Ôo ...

:o|
-1
Marie c'est la personne qui s'en occuper avant pourquoi? vous l'a connaissai?
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 mai 2010 à 11:05
Oui ...

voilà l'historique : https://forums.commentcamarche.net/forum/affich-17384855-creer-dossier-automatiquement-sur-vba

Des réponses ont déjà été données sur le sujet.

Bonne lecture et bon courage
0
ca marche merci bien
0
c'est très gentil de mavoir donner un lien pour voir se qui aparament vous a demander beaucoup de patience ( je l'aurai pas été autant enfin bref) mais franchement j'ai du mal a suivre la conversation
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 mai 2010 à 13:46
j'ai eu aussi beaucoup de mal à suivre ...
0