choix feuille selon valeur cellule

  • Initiateur de la discussion Initiateur de la discussion cisco38
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Re : choix feuille selon valeur cellule

salut

peut être comme ceci (je t'ai commenté le code) :

Code:
Dim OD As Worksheet 'Onglet de Destination
Dim lign As Variant

Select Case Range("e3") 'on teste la cellule E3
    Case "": MsgBox "Merci de completer la cellule E3": Exit Sub 'si vide, message +sortie de procédure
    Case "SIE": Set OD = Sheets("tableau de suivi SIE") 'si SIE, on initialise la variable objet od avec la feuille correpondante
    Case "CAR": Set OD = Sheets("tableau de suivi CAR") 'idem pour CAR
End Select


lign = OD.Range("A65000").End(xlUp).Row 'on recherche la derniere ligne non vide

a plus
 
Re : choix feuille selon valeur cellule

faut il modifier tableau de suivi SIE par OD
merci deja pour l'aide
Private Sub BtnCopier_Click()
Dim OD As Worksheet 'Onglet de Destination
Dim lign As Variant

Select Case Range("e3") 'on teste la cellule E3
Case "": MsgBox "Merci de completer la cellule E3": Exit Sub 'si vide, message +sortie de procédure
Case "SIE": Set OD = Sheets("tableau de suivi SIE") 'si SIE, on initialise la variable objet od avec la feuille correpondante
Case "CAR": Set OD = Sheets("tableau de suivi CAR") 'idem pour CAR
End Select


lign = OD.Range("A65000").End(xlUp).Row 'on recherche la derniere ligne non vide





If Sheets("Demande de travaux").Range("T2").Value <> Sheets("tableau de suivi SIE").Range("A" & lign).Value And Sheets("tableau de suivi SIE").Range("A" & lign).Value <> "" Then


Sheets("tableau de suivi SIE").Range("A" & lign + 1).Value = Sheets("Demande de travaux").Range("T2").Value
Sheets("tableau de suivi SIE").Range("B" & lign + 1).Value = Sheets("Demande de travaux").Range("K4").Value
Sheets("tableau de suivi SIE").Range("C" & lign + 1).Value = Sheets("Demande de travaux").Range("K43").Value
Sheets("tableau de suivi SIE").Range("D" & lign + 1).Value = Sheets("Demande de travaux").Range("E3").Value
Sheets("tableau de suivi SIE").Range("E" & lign + 1).Value = Sheets("Demande de travaux").Range("K3").Value
Sheets("tableau de suivi SIE").Range("F" & lign + 1).Value = Sheets("Demande de travaux").Range("R3").Value
Sheets("tableau de suivi SIE").Range("G" & lign + 1).Value = Sheets("Demande de travaux").Range("E4").Value
Sheets("tableau de suivi SIE").Range("H" & lign + 1).Value = Sheets("Demande de travaux").Range("R4").Value
Sheets("tableau de suivi SIE").Range("I" & lign + 1).Value = Sheets("Demande de travaux").Range("A21").Value
Sheets("tableau de suivi SIE").Range("J" & lign + 1).Value = Sheets("Demande de travaux").Range("A35").Value
Sheets("tableau de suivi SIE").Range("K" & lign + 1).Value = Sheets("Demande de travaux").Range("M19").Value
Sheets("tableau de suivi SIE").Range("L" & lign + 1).Value = Sheets("Demande de travaux").Range("S19").Value

Else: MsgBox "Le N° de Fiche deja utilisé-creer nouvelle fiche avant !"
End If
End Sub
 
Re : choix feuille selon valeur cellule

re 🙂

oui, maintenant ta feuille de destination est défini par la variable OD, donc tu remplaces comme ceci :

Code:
Private Sub BtnCopier_Click()
Dim OD As Worksheet 'Onglet de Destination
Dim lign As Variant

Select Case Range("e3") 'on teste la cellule E3
    Case "": MsgBox "Merci de completer la cellule E3": Exit Sub 'si vide, message +sortie de procédure
    Case "SIE": Set OD = Sheets("tableau de suivi SIE") 'si SIE, on initialise la variable objet od avec la feuille correpondante
    Case "CAR": Set OD = Sheets("tableau de suivi CAR") 'idem pour CAR
End Select


lign = OD.Range("A65000").End(xlUp).Row 'on recherche la derniere ligne non vide
    
With Sheets("Demande de travaux")
    If .Range("T2").Value <> OD.Range("A" & lign).Value And OD.Range("A" & lign).Value <> "" Then
        OD.Range("A" & lign + 1).Value = .Range("T2").Value
        OD.Range("B" & lign + 1).Value = .Range("K4").Value
        OD.Range("C" & lign + 1).Value = .Range("K43").Value
        OD.Range("D" & lign + 1).Value = .Range("E3").Value
        OD.Range("E" & lign + 1).Value = .Range("K3").Value
        OD.Range("F" & lign + 1).Value = .Range("R3").Value
        OD.Range("G" & lign + 1).Value = .Range("E4").Value
        OD.Range("H" & lign + 1).Value = .Range("R4").Value
        OD.Range("I" & lign + 1).Value = .Range("A21").Value
        OD.Range("J" & lign + 1).Value = .Range("A35").Value
        OD.Range("K" & lign + 1).Value = .Range("M19").Value
        OD.Range("L" & lign + 1).Value = .Range("S19").Value
        
    Else: MsgBox "Le N° de Fiche deja utilisé-creer nouvelle fiche avant !"
    End If
End With
End Sub

autre chose, ton USF avec le module de classe pour le calendrier, chez moi il ne s'ouvre pas avec les bonnes dates, je dois changer de mois et revenir pour qu'il s'actualise.

a plus

edit : patience, je mangeais ma pizza à la betterave sucrière
 
Re : choix feuille selon valeur cellule

Oui c'est exact , mais si solution a mon probleme resolu ailleurs je reporte ici afin d'aider d 'autre personne dans le meme cas.

Il y a plus d'idee dans deux tete que dans une seule.
La preuve c'est que tu recherche aussi ailleurs puique tu a vu ma demande ailleurs
 
Dernière édition:
Re : choix feuille selon valeur cellule

voici ma solution je ne sais pas si on peu faire autrement mais ça fonctionne
Code:
With Sheets("Demande de travaux")

    [COLOR=#ff0000]If .Range("T2").Value <> .Range("V2").Value Then[/COLOR]
    
        OD.Range("A" & lign + 1).Value = .Range("T2").Value
        OD.Range("B" & lign + 1).Value = .Range("K4").Value
        OD.Range("C" & lign + 1).Value = .Range("K43").Value
        OD.Range("D" & lign + 1).Value = .Range("E3").Value
        OD.Range("E" & lign + 1).Value = .Range("K3").Value
        OD.Range("F" & lign + 1).Value = .Range("R3").Value
        OD.Range("G" & lign + 1).Value = .Range("E4").Value
        OD.Range("H" & lign + 1).Value = .Range("R4").Value
        OD.Range("I" & lign + 1).Value = .Range("A21").Value
        OD.Range("J" & lign + 1).Value = .Range("A35").Value
        OD.Range("K" & lign + 1).Value = .Range("M19").Value
        OD.Range("L" & lign + 1).Value = .Range("S19").Value
       [COLOR=#ff0000].Range("V2").Value = .Range("T2").Value[/COLOR]
 Else: MsgBox "Le N° de Fiche deja utilisé-creer nouvelle fiche avant !"
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
443
Réponses
6
Affichages
244
Réponses
6
Affichages
162
  • Question Question
Microsoft 365 Souci de copie
Réponses
8
Affichages
262
Réponses
5
Affichages
212
Réponses
2
Affichages
139
Retour