XL 2010 suivi futs inox chez les clients

Damilou

XLDnaute Nouveau
Bonjour
En fichier joint le fichier
quelques explication voilà sur feuille "pro" on renseigne les noms de clients (colonne B)et lors d'achat de futs inox ,on affecte une consigne facturée(colonne AY) ou non facturée
(colonne AZ)
lors de la saisie colonne B et colonne AY ou Colonne AZ renseignées(feuille "pro",je souhaiterais copier automatiquement le nom saisie colonne B (feuille "Pro") et le mettre dans la colonne B feuille "Futs" ,si le client existe déjà dans la liste clients feuille "futs" ne rien faire car les autres colonnes de cette feuille "futs" sera mise a jour
merci de votre aide car j'ai tout essayé je n'y arrive pas
 

Pièces jointes

  • suivi futs inox.xlsx
    169 KB · Affichages: 15

fanfan38

XLDnaute Barbatruc
Clic droit sur l'onglet de la feuille Pro
Choisir visualiser le code.
Pour la mettre sur un autre fichier la macro doit être sur la feuille concernée
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim dl As Long 'déclaration des variables'
  dl = Sheets("Futs").Range("B" & Rows.Count).End(xlUp).Row 'dernière ligne de la feuille fut'
  If Range("B" & Target.Row).Value <> "" Then 'si la cellule B de la ligne concernée est rempli
  'si la cellule Ay ou Az de la ligne concernée est rempli
    If Range("AY" & Target.Row).Value <> "" Or Range("AZ" & Target.Row).Value <> "" Then
  'si le nom n'existe pas
  If Application.WorksheetFunction.CountIf(Sheets("Futs").Range("B8:B" & dl), Range("B" & Target.Row).Value) = 0 Then
        Sheets("Futs").Range("B" & dl + 1).Value = Range("B" & Target.Row).Value'on rempli la cellule B de la feuille fut
  End If
    End If
  End If
End Sub
A+ François
 

Damilou

XLDnaute Nouveau
Clic droit sur l'onglet de la feuille Pro
Choisir visualiser le code.
Pour la mettre sur un autre fichier la macro doit être sur la feuille concernée
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim dl As Long 'déclaration des variables'
  dl = Sheets("Futs").Range("B" & Rows.Count).End(xlUp).Row 'dernière ligne de la feuille fut'
  If Range("B" & Target.Row).Value <> "" Then 'si la cellule B de la ligne concernée est rempli
  'si la cellule Ay ou Az de la ligne concernée est rempli
    If Range("AY" & Target.Row).Value <> "" Or Range("AZ" & Target.Row).Value <> "" Then
  'si le nom n'existe pas
  If Application.WorksheetFunction.CountIf(Sheets("Futs").Range("B8:B" & dl), Range("B" & Target.Row).Value) = 0 Then
        Sheets("Futs").Range("B" & dl + 1).Value = Range("B" & Target.Row).Value'on rempli la cellule B de la feuille fut
  End If
    End If
  End If
End Sub
A+ François
merci beaucoup fanfan38 je vais essayer de comprendre
 

CHRIS1945

XLDnaute Occasionnel
Bonjour Damilou et Fanfan,
J'ajoute une proposition.
Je ne sais pas si cela te conviendra mais j'ai un peu amendé ton projet pour rendre l'onglet Futs totalement automatique.
J'ai donc ajouté les deux colonnes alimentées manuellement dans l'onglet Futs pour les incorporer dans l'onglet Pro.
De cette manière, l'onglet Futs peut être entièrement automatisé.
Avantage : l'onglet Futs se réinitialise totalement chaque fois que tu changes quelque chose dans les plages B10:B89 et AY10:BA89 et BD10:BD89 de l'onglet Pro
Ainsi si tu remets à "" les cellules des plages... le nom disparaitra de l'onglet Futs
J'ai fortement documenté les différents VBA
Comme le dit fanfan38, ce projet ne peut être fait qu'avec des VBA.
Si besoin de plus d'explications n'hésite pas à me revenir
Bonne continuation
Chris
 

Pièces jointes

  • suivi futs inox_projet.xlsm
    193.7 KB · Affichages: 4

Damilou

XLDnaute Nouveau
Bonjour Damilou et Fanfan,
J'ajoute une proposition.
Je ne sais pas si cela te conviendra mais j'ai un peu amendé ton projet pour rendre l'onglet Futs totalement automatique.
J'ai donc ajouté les deux colonnes alimentées manuellement dans l'onglet Futs pour les incorporer dans l'onglet Pro.
De cette manière, l'onglet Futs peut être entièrement automatisé.
Avantage : l'onglet Futs se réinitialise totalement chaque fois que tu changes quelque chose dans les plages B10:B89 et AY10:BA89 et BD10:BD89 de l'onglet Pro
Ainsi si tu remets à "" les cellules des plages... le nom disparaitra de l'onglet Futs
J'ai fortement documenté les différents VBA
Comme le dit fanfan38, ce projet ne peut être fait qu'avec des VBA.
Si besoin de plus d'explications n'hésite pas à me revenir
Bonne continuation
Chris
bonjour Chris
merci beaucoup çà marche bien, un peu d'explication car ce n'est pas mon truc vba , dommage qu'avec google sheet çà ne marche pas car on est 3 à partager ce fichier
 

CHRIS1945

XLDnaute Occasionnel
Bonjour,
Désolé pour le retard mais je t'avais déjà répondu mais j'ai du faire une fausse manoeuvre car je ne vois plus ma réponse....
Donc je me répète :
-Pour ce qui est des explications... il faudrait me préciser tes questions car je ne peux pas te faire un cours VBA in extenso (pour cela il y a énormément de littérature dont la série "VBA pour les nuls" qui est bien faite et assez facile d'accès. Par contre si tu as des questions précises, n'hésites pas à me les poser.
- pour ton problème de travailler à trois, il faudrait savoir si vous travaillez en réseau car il est possible en Excel de travailler à plusieurs sur un même classeur mais ce n'est pas simple et demande une certaine discipline (cela doit être pareil en Google sheet) car il faut naturellement éviter de faire des MAJ qui se percutent si vous travailler à 3 en même temps...
Il y a une solution plus simple qui consiste à avoir chacun son fichier individuel (je suppose que vous avez chacun vos clients).
Après, il suffit de créer un quatrième classeur qui compile les résultats des 3 autres pour avoir une synthèse globale de l'entreprise.
Bonne continuation
Chris
 

Discussions similaires

Réponses
3
Affichages
299

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35