Hello
j’ai un fichier d’attribution de place pour un loto avec des macros et actuellement si je veut inscrire une personne sur l’onglet « Table_Resa » et que cette personne est pas dans l’onglet « Contact », pour le moment, je le rajoute avec la macro du modul4 et je voudrais que je puisse rajouter sans sortir de l’onglet la personne à l’onglet « Contact »
j’ai mis ce code dans le modul 1, mais elle tourne en boucle et ne ressort pas de la macro
If plageNoms.Cells(i, 1).Value = "" Then
Call AjoutContact
End If
Une âme charitable pourrait elle jeter un œil.
Merci d’avance
macro pour module 4
Sub AjouterContact2(Nom As String)
Dim r, c, iNom, LO
If Len(Nom) > 0 Then
Set LO = Range("Tab_Contacts").ListObject
iNom = LO.ListColumns("Nom").Index
r = Application.IfError(Application.Match(Nom, LO.ListColumns(iNom).DataBodyRange, 0), 0) 'nom connu ? 0=inconnu
If r = 0 Then
Set c = LO.ListRows.Add.Range
c.Cells(1, iNom).Value = Nom
c.Cells(1, iNom + 1).Value = InputBox("Prénom", "Saisie Prénom")
c.Cells(1, iNom + 2).Value = InputBox("Contact", "Saisie N° Téléphone")
End If
End If
End Sub
macro pour module de la feuille “table_résa”
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Cells.Count = 1 Then
If Len(.Value) > 0 Then
If IsNumeric(.Offset(, 2).Value) And Len(.Offset(, 2).Value) Then AjouterContact2 .Value
End If
End If
End With
End Sub
Merci Cow, mais je voudrais garder ma macro qui est déjà activée par le bouton enregistrement sur l’onglet table resa qui recherche déjà dans la collection de nom de l’onglet contact s’il y a un prénom, parce qu’il arrive que j’ai deux fois le même nom et dans ces cas dans l’onglet Réservation, il faut mettre le bon nom avec le bon prénom…
En somme, je renseigne mes resa sur l’onglet table_resa je clique sur enregistrement et la, la macro met le nom dans l’onglet réservation en vérifiant dans l’onglet contact s’il y a éventuellement un doublon avec un prénom, et c’est juste avec cette vérification que je voudrais que la macro vérifie que le nom existe, et s’il n’existe pas, à ce moment lancer la macro pour rajouter ce « client » dans l’onglet contact, et une fois le "client rajouté la macro continue a enregistré le client dans le tableau de l’onglet reservation…
Hello
ça fonctionne comme prévu
par contre, je viens de m’apercevoir que j’avais uploader le mauvais fichier, j’avais préparé un fichier avec juste 3 onglets comme celui que je viens de modifier dans ma demande initial…et sans données confidentielles… tu peux le supprimer, je l’ai récupéré
Hello Cow
Je me bats avec ta macro en essayant de l’intégrer à mon fichier de travail, mais elle me crée des décalages, je ne me souviens plus si entre la version que j’avais mise hier et celle utilisée, je n’avais pas fait des modifs dans les structures des tableaux, je pense que oui, donc j’ai remis une copie de mon fichier de travail épurée(avec juste les onglets nécessaires au traitement) et anonymisé cette fois-ci
voilà donc mon fichier de travail, par contre, te serait-il, possible d’y jeter un œil, j’ai gardé les macros d’origine Réservation loto.xlsm (153,8 Ko)
je pense qu’on a déjà eu cette discussion concernant les tableaux structurés, c’est inutile d’avoir des lignes vides, ce n’est pas pratique et très inefficient. La macro “AjouteContact” ajoute une nouvelle ligne en dessous du tableau, après +600 lignes vides. C’est çà le décalage ?
Attention les lignes vide dans contact ne sont pas vide chez moi, ce sont des lignes qui normalement sont remplis avec les contacts que j’ai effacés
le décalage je l’ai dans le tableau Tab_resa ou quand ta macro ajoute un contact me le met dans la première ligne et décalé d’une colonne
Si cela est possible garder mes macros du moins celle pour enregistré sur l’onglet table resa j’avais essayer de mettre un
if PlageNoms.value = " " then
Call AjoutContacts
End If