Mettre une cellule en variable

addict -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

j'ai crée une fonction permettant de réaliser une mise en forme. Ce que j'aimerais faire, c'est pouvoir commencer cette mise en forme à partir de la cellule que je souhaite. Dans mon code, j'ai écrit :
Range("A2").Select

et le reste de ma procédure. Ce que j'aimerais pouvoir faire, c'est commencer à la cellule que je souhaite. je ne sais pas si c'est possible....

J'ai une deuxième question par la même occasion. J'ai crée un userforms qui demande si le matériaux contient du bois ou du verre. Le fait est que le matériaux peut contenir soit du bois, soit du verre, soit les deux, soit rien. J'aimerais que la mise en forme de mon tableau découle de ce choix. Est t'il possible d'avoir une double condition dans une boucle If et si oui, comment faire. J'ai essayé avec and, mais ça ne marche pas. Pour répondre à la question de la contenance en bois et/ou verre, il est possible de répondre "oui" ou "non" par l'intermédiaire de bouton d'option.

merci,
Configuration: Windows XP
Firefox 3.0.5

7 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    tout d'abord la 1ère question. Elle se traite avec une Inputbox :

    Dim valeur As String
    valeur = InputBox("saisir dans le format : B1 ou G23 etc...", "cellule")
    Range(valeur).Select

    2ème question : oui par contre je n'ai pas bien compris la question...
    0
  2. addict
     
    Merci pour la première réponse !

    Quand à la deuxième, j'essaye d'expliquer plus clairement :

    J'ai un Userforms, qui demande à l'utilisateur si le matériaux contient du bois. il peut répondre par oui ou non à l'aide de case à cocher (J'ai changé par rapport au bouton d'option, inapproprié dans ce cas) . Puis, je répose la même question pour le verre et il y a toujours le choix, par le même principe qu'avant, pour la réponse. Ensuite, je code cela :

    Public Sub NextMC_Click()

    ActiveWorkbooks = "MaterialCompositeClasseur"
    ActiveSheets = "detail"
    If NextMC.Enabled = True Then

    Call MiseEnpage1

    End If

    Unload Me

    End Sub

    Sub YesWood_Click()

    If YesWood.Enabled = True Then

    Call MiseEnPageWood

    End If

    End Sub

    Private Sub YesRRM_Click()
    If YesRRM.Enabled = True Then

    Call MiseEnPageRRM

    End If

    If YesWood.Enabled And YesRRM.Enabled = True Then

    Call MiseEnPageWoodRRM

    End If

    End Sub

    je ne sais pas si cela va vous aider.
    0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Qu'est ce qui ne fonctionne pas dans ce code?
    0
  4. addict
     
    et bien les MiseEnPageWood et MiseEnPageRRM utilise toute les deux la cellule G2. Si il y a du bois et du verre, alors ce sont les cellules G2 et H2 qui sont mise en forme. ce que je veux, c'est que l'on puise si l'on se trompe, "enlever la mise en page". j'ai essayé :

    Else: Range("G2").Select
    ActiveCell.FormulaR1C1 = " "

    En faite, je crois que ma demande à juste évolué depuis tout à l'heure ^^
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Donc le problème ne vient pas du code que tu as donné mais des fonctions : MiseEnPageWood et MiseEnPageRRM ...
    Fais voir le code de ces 2 fonctions...
    0
  7. addict
     
    Voila le premier code. pour MiseEnPageWood.

    Public Function()
    Range("G2").Select
    ActiveCell.FormulaR1C1 = "Certified Wood -FSC Number-"
    Range("G2:G3").Select
    With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .ShrinkToFit = False
    .MergeCells = False
    End With
    Selection.Merge

    Range("G2").Select

    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone

    With Selection.Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeRight)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlInsideHorizontal)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    Columns("A:G").Select
    With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = True
    .Orientation = 0
    .AddIndent = False
    .ShrinkToFit = False
    End With

    Range("A2:G2").Select
    With Selection.Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeRight)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlInsideVertical)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlInsideHorizontal)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    End Function

    Public Function MiseEnPageRRM()

    Range("G2").Select
    ActiveCell.FormulaR1C1 = "Glasse"
    Range("G2:G3").Select
    With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .ShrinkToFit = False
    .MergeCells = False
    End With
    Selection.Merge

    Range("G2").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeRight)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlInsideHorizontal)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    Columns("A:G").Select
    With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = True
    .Orientation = 0
    .AddIndent = False
    .ShrinkToFit = False
    End With

    Range("A2:G2").Select
    With Selection.Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlEdgeRight)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlInsideVertical)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    With Selection.Borders(xlInsideHorizontal)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With

    End Function

    Ce que j'aimerais, c'est que si on choisit oui, puis qu'on change d'avis, toute la mise en page, soit éffacé.
    0
  8. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Ce que j'aimerais, c'est que si on choisit oui, puis qu'on change d'avis, toute la mise en page, soit éffacé.
    Une fois qu'une macro est exécuté, on ne peux pas revenir en arrière. Il te faut une nouvelle macro qui remet tout en place. Crée donc une macro annulemiseenpage... de la même manière que les deux autres
    0