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

Microsoft 365 Modifier un inventaire en passant par un autre Onglet

MARCOJM

XLDnaute Nouveau
Bonjour,
Je voudrais modifier un inventaire, que je veut piloter par un autre onglet.

Exemple :j''ai un ordinateur que je veux changer de salle. Je rajoute une ligne dans l'onglet "En cour" en précisent le "Nom de l'ordinateur" "la nouvelle salle" et la modification ce fait automatiquement dans l'inventaire.

Merci.

Nota : J'utilise Office 365 installé sur un poste.
 

Pièces jointes

  • inventaire.xlsm
    66.1 KB · Affichages: 17

fanch55

XLDnaute Barbatruc
Bonjour,

L'objectif de ce forum est de vous apporter une aide à l'accomplissement de votre projet,
pas d'en faire l'ensemble .

Dans cette optique, pour répondre à la demande :
j''ai un ordinateur que je veux changer de salle. Je rajoute une ligne dans l'onglet "En cour" en précisent le "Nom de l'ordinateur" "la nouvelle salle" et la modification ce fait automatiquement dans l'inventaire.

Vous pouvez mettre dans le code de la feuille "En cours" le code ci-dessous :
VB:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cell As Range, Cible As Range, Sh As Worksheet
    Select Case True
    Case Target.Columns.Count = Me.Columns.Count 'Ligne entière selectionnée
    Case Target.Rows.Count = Me.Rows.Count ' Colonne entière selectionnée
    Case Else
        For Each Cell In Target.Cells
            Select Case True
            Case Cell = vbNullString ' on ne fait rien si vide
            Case Intersect(Cell, Union(Columns("B"), Columns("G"))) Is Nothing
            Case Cells(Cell.Row, "B") = "" ' pas d'ordi ..
            Case Cells(Cell.Row, "G") = "" ' pas de nouvelle salle
            Case Else
                Set Sh = Worksheets("Entrée - Sortie")
                Set Cible = Sh.Columns("D").Find(Cells(Cell.Row, "B"))
                If Not Cible Is Nothing Then
                    Sh.Cells(Cible.Row, "C") = Cells(Cell.Row, "G")
                Else
                    MsgBox Cells(Cell.Row, "B") & " n'est pas dans l'inventaire"
                End If
            End Select
        Next
    End Select

End Sub
 

MARCOJM

XLDnaute Nouveau
Bonjour,
Un grand merci pour votre aide. J'ai compris le fonctionnement de votre site. C'est très bien formateur.
Je voudrais juste revenir sur une chose. Quand je modifie une cellule de la colonne F Désigné N (feuille "en cour") ne modifie pas la cellule de la colonne B Désigné N (feuille "Entrée Sortie"). Ce fonctionnement me permettra de faire évoluer un code de trie que j'ai déjà de coté.
Merci.
 

fanch55

XLDnaute Barbatruc
Ok,
VB:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cell As Range, Cible As Range, Sh As Worksheet
    Select Case True
    Case Target.Columns.Count = Me.Columns.Count 'Ligne entière selectionnée
    Case Target.Rows.Count = Me.Rows.Count ' Colonne entière selectionnée
    Case Else
        For Each Cell In Target.Cells
            Select Case True
            Case Cell = vbNullString ' on ne fait rien si vide
            Case Intersect(Cell, Union(Columns("B"), Columns("F"), Columns("G"))) Is Nothing
            Case Cells(Cell.Row, "B") = "" ' pas d'ordi ..
            Case Cells(Cell.Row, "G") = "" ' pas de nouvelle salle
            Case Else
                Set Sh = Worksheets("Entrée - Sortie")
                Set Cible = Sh.Columns("D").Find(Cells(Cell.Row, "B"))
                If Not Cible Is Nothing Then ' Modif Ligne trouvée
                    Sh.Cells(Cible.Row, "B") = Cells(Cell.Row, "F") ' N
                    Sh.Cells(Cible.Row, "C") = Cells(Cell.Row, "G") ' Nouvelle Salle
                Else
                    MsgBox Cells(Cell.Row, "B") & " n'est pas dans l'inventaire"
                End If
            End Select
        Next
    End Select

End Sub
 

MARCOJM

XLDnaute Nouveau
Un grand merci c'est génial. Cet onglet "en cour" va me permettre d'avoir un suivi encore plus précis et de pouvoir avoir des traces de l'évolution de mon inventaire.
Je reviens lundi juste pour vous demander vers quel code dois-je aller pour avoir une ligne ou la police et la couleur de fond change celons une cellule.
Merci merci. et bonne fin de week-end.
 

MARCOJM

XLDnaute Nouveau
Bonjour pouvez vous me conseiller pour modifier le fond et la police de certaine cellule en fonction d'un mots de la colonne C.
Exemple :
*Si cellule C comprend le Mots "Stock" passer les cellules CDEFGHI en Fond Jaune et police couleur Noire.
Je ferais la même chose pour le Mots "sortie" en fond Noir et police blanche. et le mots "casier" en fond rouge et police blanche. J'ai déjà une formule qui me fait un tri dans le tableau, voir le fichier.
Un grand merci pour votre aide.
 

Pièces jointes

  • inventaire 2.xlsm
    60 KB · Affichages: 5

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…