XL 2010 Besoin d'aide pour formule

Olympe46

XLDnaute Nouveau
Bonjour à tous,
J'ai besoin de votre aide pour trouver la bonne formule car je n'y arrive pas😢
J'ai un classeur avec pluisieurs euilles
1er feuille N° BDC (suivi de numéros de bon de commande)
2e feuille tableau de suivi 1 Budget 1 location
3e feuille tableau de suivi 2 Budget achat

J'aimerais quand je tape le numéro de bon il se positionne automatiquement dans le tableau concerné soit tableau suivi 1 ou tableau suivi 2 dans la colonne choisi
 

Pièces jointes

  • SUIVI BUDGET.xlsx
    75.9 KB · Affichages: 4

job75

XLDnaute Barbatruc
Bonjour Olympe46, bienvenue sur XLD,

Voyez le fichier joint et cette macro dans le code de la feuille "SUIVI BDC" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lig, numero$, w As Worksheet, cible As Range
lig = Target.Row
On Error Resume Next
numero = Cells(lig, Application.Match("N°*", Rows(1), 0))
If numero = "" Then Exit Sub
Set w = Sheets(CStr(Cells(1, Rows(lig).Find("x", , xlValues, xlWhole).Column)))
w.Visible = xlSheetVisible 'si la feuille est masquée
Set cible = w.[C:C].Find(numero, , xlValues, xlWhole)
If Not cible Is Nothing Then Rows(lig).Select: Application.Goto cible
End Sub
Elle se déclenche automatiquement quand on modifie ou valide une cellule quelconque.

Donc on peut renseigner la colonne D avant ou après celles des "x".

Nota : j'ai enlevé des espaces superflus dans les noms des onglets "BUDGET 1" et "BUDGET 2" !!!

A+
 

Pièces jointes

  • SUIVI BUDGET(1).xlsm
    82.9 KB · Affichages: 4
Dernière édition:

Olympe46

XLDnaute Nouveau
Bonjour Olympe46, bienvenue sur XLD,

Voyez le fichier joint et cette macro dans le code de la feuille "SUIVI BDC" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lig, numero$, w As Worksheet, cible As Range
lig = Target.Row
On Error Resume Next
numero = Cells(lig, Application.Match("N°*", Rows(1), 0))
If numero = "" Then Exit Sub
Set w = Sheets(CStr(Cells(1, Rows(lig).Find("x", , xlValues, xlWhole).Column)))
w.Visible = xlSheetVisible 'si la feuille est masquée
Set cible = w.[C:C].Find(numero, , xlValues, xlWhole)
If Not cible Is Nothing Then Rows(lig).Select: Application.Goto cible
End Sub
Elle se déclenche automatiquement quand on modifie ou valide une cellule quelconque.

Donc on peut renseigner la colonne D avant ou après celles des "x".

Nota : j'ai enlevé des espaces superflus dans les noms des onglets "BUDGET 1" et "BUDGET 2" !!!

A+
Bonjour
avez vous modifier le tableau ?
 

job75

XLDnaute Barbatruc
Bonjour Olympe46;

Je n'ai rien modifié dans votre fichier à part les espaces superflus des onglets.

Dans les feuilles vous avez mis des formules en colonne C qui inscrivent les numéros des BDC.

Si vous ne les voulez plus il fallait le dire clairement.

A+
 

job75

XLDnaute Barbatruc
Si vous ne voulez plus de vos formules voyez ce fichier (2) et cette macro dans ThisWorkbook :
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Not UCase(Sh.Name) Like "BUDGET*" Then Exit Sub
Dim r As Range, bdc, dat, i As Variant
With Sheets("SUIVI BDC")
    Set r = .Columns(Application.Match(Sh.Name, .Rows(1), 0))
    'On Error Resume Next 'si aucune SpecialCell
    For Each r In r.SpecialCells(xlCellTypeConstants)
        If LCase(r) = "x" Then
            bdc = Intersect(r.EntireRow, .Columns(4))
            dat = Intersect(r.EntireRow, .Columns(6))
            i = Application.Match(bdc, Sh.Columns(3), 0) 'recherche en colonne C
            If IsError(i) Then i = Sh.Range("C11:C18,C20:C32,C34:C44").Find("", , xlValues).Row
            If IsDate(dat) Then Sh.Cells(i, 2) = CDate(dat) 'date en colonne B
            Sh.Cells(i, 3) = bdc 'N° de BDC en colonne C
        End If
    Next r
End With
End Sub
Elle se déclenche quand on active une feuille "BUDGET 1" ou "BUDGET 2".
 

Pièces jointes

  • SUIVI BUDGET(2).xlsm
    84.2 KB · Affichages: 6

Olympe46

XLDnaute Nouveau
Bonsoir
Merci beaucoup pour votre aide c'est exactement ça que je voulais, dernière demande, puis rajouter des colonne dans la feuille suivi bdc ex budget 3 budget 4 et des feuilles excel et puis je renommer les colonnes budget 1 exemple budget 1 = tranche 2b203 et les feuilles avec le nouvel intitulé
 

Discussions similaires

Réponses
4
Affichages
256