Fonction if cumulé vba

Résolu
Ludo636 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
Ludo636 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
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

@+
A voir également:

1 réponse

Ludo636 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Oupsss, petite précision, je suis sous excel 2007.

@+
0
irongege Messages postés 41001 Date d'inscription   Statut Modérateur Dernière intervention   5 079
 
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   Statut Membre Dernière intervention  
 
Bonjour Irongege,

J'essai de le déposer en fin de journé.
Merci de ta réponse
0
irongege Messages postés 41001 Date d'inscription   Statut Modérateur Dernière intervention   5 079
 
Merci.
0
Ludo636 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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