Fonction if cumulé vba

Résolu/Fermé
Ludo636 Messages postés 19 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 22 janvier 2014 - 26 avril 2013 à 13:34
Ludo636 Messages postés 19 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 22 janvier 2014 - 15 mai 2013 à 16:52
Bonjour, je suis nouveau sur le forum qui m'a déja beaucoup aidé plusieurs fois, c'est pourquoi je me suis inscrit afin de trouver réponse exacte à mec questions et d'aider si possible.
Après cette petite présentation, voila mon problème:

Je souhaite réaliser un macro qui valide un copier coller d'une colonne de la "feuille_1" à une "feuille_2" (jusque la pas de problemes), je souhaite que ce copier coller se fasse seulement si des cellules de ma "feuille_1" sont remplies (toujours pas de problème) et aussi seulement si sur ma "feuille_1", si cellule "D27" = "" et cellule "R34 <> "" faire le copier coller. Donc mon problème est que je n'arrive pas à cumuler, si cellule "D6" vide et "P5" vide et "P6" vide avec la condition si "D27" est vide et "R34" n'est pas vide (sachant que D27 et R34 sont liées). Tout ça avec des MsgBox.

exemple:

Macro_exemple

If Range("D6") = "" Then
MsgBox "Renseignez votre nom"
End If

If Range("P5") = "Aucun" Then
MsgBox "Renseignez votre prénom"
End If


If Range("P6") = "Aucun" Then
MsgBox "Renseignez voter age"
End If


If Range("D27") = "" And Range("R34") <> "" Then
MsgBox "Notez la référence en D27 !!!"
End If



If Range("D6") <> "" And Range("P5") <> "Aucun" And Range("P6") <> "Aucun" ( ici je voudrait ajouter (si D27 est vide et R34 n'est pas vide) Then



Range("Z4:Z8").Select
Selection.Copy
Sheets("feuille_2").Select
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("D:D").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove


Range("D6").Select
Selection.ClearContents
Range("P5:P6").Select
Selection.ClearContents
Range("D27").Select
Selection.ClearContents
Range("R34").Select
Selection.ClearContents


Range("D6").Select

End If

End Sub


J'espère avoir été clair, merci pour vos réponse

@+

1 réponse

Ludo636 Messages postés 19 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 22 janvier 2014
26 avril 2013 à 13:36
Oupsss, petite précision, je suis sous excel 2007.

@+
0
irongege Messages postés 40847 Date d'inscription jeudi 1 novembre 2007 Statut Modérateur Dernière intervention 29 juin 2023 5 071
26 avril 2013 à 13:37
Bonjour

Utilises c-joint pour déposer ton fichier, ce sera plus simple de t'aider.
0
Ludo636 Messages postés 19 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 22 janvier 2014
26 avril 2013 à 13:53
Bonjour Irongege,

J'essai de le déposer en fin de journé.
Merci de ta réponse
0
irongege Messages postés 40847 Date d'inscription jeudi 1 novembre 2007 Statut Modérateur Dernière intervention 29 juin 2023 5 071
26 avril 2013 à 13:54
Merci.
0
Ludo636 Messages postés 19 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 22 janvier 2014
26 avril 2013 à 17:38
Dsl mais je n'ai pas le temps de le poster pour le moment, je le poste dès que possible. Merci
0
Ludo636 Messages postés 19 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 22 janvier 2014
15 mai 2013 à 16:52
Bonjour à tous,

Excusez moi de mon absence, toujours bien que mon problème est résolu. Un grand merci à irongege pour ton aide.
Et maintenant afin de comprendre voici mon code:

Sub macro_inser_une_saisie()
'
' Macro_valider une appréciation

If Range("D6") = "" Then

MsgBox "Renseignez votre nom!!!"

End If

If Range("P5") = "Aucun" Then

MsgBox "Renseignez votre prénom!!!"

End If


If Range("P6") = "Aucun" Then

MsgBox "Renseignez votre age!!!"

End If

If Range("D27") = "" And Range("R34") <> "" Then

MsgBox "Notez la référence en D27!!!"

End If

If Range("D28") = "" And Range("S34") <> "" Then

MsgBox "Notez la référence en D28!!!"

End If

If Range("D29") = "" And Range("T34") <> "" Then

MsgBox "Notez la référence en D29!!!"

End If



If Range("D6") <> "" And Range("P5") <> "Aucun" And Range("P6") <> "Aucun" Then

If (Range("D27") = "" And Range("R34") = "" Or Range("D27") <> "" And Range("R34") = "" Or Range("D27") <> "" And Range("R34") <> "") Then

If (Range("D28") = "" And Range("S34") = "" Or Range("D28") <> "" And Range("S34") = "" Or Range("D28") <> "" And Range("S34") <> "") Then

If (Range("D29") = "" And Range("T34") = "" Or Range("D29") <> "" And Range("T34") = "" Or Range("D29") <> "" And Range("T34") <> "") Then



Range("Z4:Z66").Select
Selection.Copy
Sheets("global_mensuel").Select
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("D:D").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove


Sheets("bd_stage").Select
Range("O9").Select
ActiveCell.FormulaR1C1 = "4"
Selection.AutoFill Destination:=Range("O9:O32"), Type:=xlFillDefault
Range("O9:O32").Select


Range("R6:R14").Select
Selection.ClearContents
Range("R18:R36").Select
Selection.ClearContents
Range("S34:T35").Select
Selection.ClearContents

Range("D5").Select

End If
End If
End If
End If

End sub

Désolé, je n'ai pas le temps de modifier mon classeur afin de le poster pour essayer.

@+
0