If sur Macro Excel
Résolu
hugo10270
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je crée un tableau excel et j'ai besoin de créer une macro avec la fonction if
Je note la macro ( simplifiée )
Sub sgk()
'
' sgk Macro
'
'
If INTERME = 0 Then
Range("A11:H17").Select
Selection.ClearContents
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
ActiveWindow.SmallScroll Down:=57
Range("B76").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-75
Range("D13").Select
ActiveSheet.Paste
End If
Range("C85").Select
If INTERME = 1 Then
Range("A11:G17").Select
Selection.ClearContents
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
ActiveWindow.SmallScroll Down:=51
Range("A67:G68").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-60
Range("A11:B11").Select
ActiveSheet.Paste
Range("B13").Select
End If
Range("C85").Select
If INTERME = 2 Then
Range("A11:G17").Select
Selection.ClearContents
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
ActiveWindow.SmallScroll Down:=51
Range("A67:G71").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-51
Range("A11:B11").Select
ActiveSheet.Paste
Range("F16").Select
End If
End Sub
INTERME étant le nom de la cellule C85
C85= SI(G70<>0,"2",SI(G67<>0,"1","0"))
J'ai essayé de mettre C85 à la place de INTERME ainsi que Value en lui mettant avant if Range("C85").Select
J'ai essayé en lui faisant copier la valeur de C85 et en lisant la valeur puis en remettant apres la macro le formule...
Mais rien à faire il m'execute toujours comme si c'était à 0 !
Une idée pour lui faire comprendre que la valeur est des fois différente de 0 !
Je crée un tableau excel et j'ai besoin de créer une macro avec la fonction if
Je note la macro ( simplifiée )
Sub sgk()
'
' sgk Macro
'
'
If INTERME = 0 Then
Range("A11:H17").Select
Selection.ClearContents
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
ActiveWindow.SmallScroll Down:=57
Range("B76").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-75
Range("D13").Select
ActiveSheet.Paste
End If
Range("C85").Select
If INTERME = 1 Then
Range("A11:G17").Select
Selection.ClearContents
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
ActiveWindow.SmallScroll Down:=51
Range("A67:G68").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-60
Range("A11:B11").Select
ActiveSheet.Paste
Range("B13").Select
End If
Range("C85").Select
If INTERME = 2 Then
Range("A11:G17").Select
Selection.ClearContents
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
ActiveWindow.SmallScroll Down:=51
Range("A67:G71").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-51
Range("A11:B11").Select
ActiveSheet.Paste
Range("F16").Select
End If
End Sub
INTERME étant le nom de la cellule C85
C85= SI(G70<>0,"2",SI(G67<>0,"1","0"))
J'ai essayé de mettre C85 à la place de INTERME ainsi que Value en lui mettant avant if Range("C85").Select
J'ai essayé en lui faisant copier la valeur de C85 et en lisant la valeur puis en remettant apres la macro le formule...
Mais rien à faire il m'execute toujours comme si c'était à 0 !
Une idée pour lui faire comprendre que la valeur est des fois différente de 0 !
A voir également:
- If sur Macro Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide
2 réponses
Bonsoir,
essaie avec if [INTERME] = ...
Si le nom est présent sur plusieurs feuilles précise la feuille avant
eric
essaie avec if [INTERME] = ...
Si le nom est présent sur plusieurs feuilles précise la feuille avant
eric
Merci mais j'ai finalement trouvé un peu par hasard en essayant
If ActiveCell.value = 0 Then
If ActiveCell.value = 0 Then