Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

choix feuille selon valeur cellule

cisco38

XLDnaute Nouveau
bonjour
je souhaiterais copier les valeurs des cellules selon la valeur de la cellule E3
SI E3=SIE copier dans tableau de suivi SIE et si E3=CAR dans tableau de suivi CAR
 

Pièces jointes

  • fiche inter V1.xlsm
    55.5 KB · Affichages: 51

Hervé

XLDnaute Barbatruc
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
 

cisco38

XLDnaute Nouveau
Re : choix feuille selon valeur cellule

faut il modifier tableau de suivi SIE par OD
merci deja pour l'aide
 

Hervé

XLDnaute Barbatruc
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
 

cisco38

XLDnaute Nouveau
Re : choix feuille selon valeur cellule

est il possible que si un N° est deja sur une feuille on demande de refaire une nouvelle fiche
fichier modifié autrement
 

Pièces jointes

  • fiche inter_V2.xlsm
    64 KB · Affichages: 51

cisco38

XLDnaute Nouveau
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:

cisco38

XLDnaute Nouveau
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 !"
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…