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 -
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
@+
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:
- Fonction if cumulé vba
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Fonction remplacer sur word - Guide
Utilises c-joint pour déposer ton fichier, ce sera plus simple de t'aider.
J'essai de le déposer en fin de journé.
Merci de ta réponse
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.
@+