Fonction if cumulé vba [Résolu/Fermé]

Signaler
Messages postés
19
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
22 janvier 2014
-
Messages postés
19
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
22 janvier 2014
-
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

Messages postés
19
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
22 janvier 2014

Oupsss, petite précision, je suis sous excel 2007.

@+
Messages postés
40668
Date d'inscription
jeudi 1 novembre 2007
Statut
Modérateur
Dernière intervention
21 novembre 2020
4 794
Bonjour

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

Bonjour Irongege,

J'essai de le déposer en fin de journé.
Merci de ta réponse
Messages postés
40668
Date d'inscription
jeudi 1 novembre 2007
Statut
Modérateur
Dernière intervention
21 novembre 2020
4 794
Merci.
Messages postés
19
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
22 janvier 2014

Dsl mais je n'ai pas le temps de le poster pour le moment, je le poste dès que possible. Merci
Messages postés
19
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
22 janvier 2014

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.

@+