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
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
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
Ce ne sont pas les même macros dans google sheet... Voir Le forum autres applications.
Perso je ne sais pas faire.
et je vois mal comment faire sans macro
A+ François
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 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
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