Incérer un nouveau propriétaire en fonction du numéro de la parcelle. [Résolu]

Signaler
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020
-
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020
-
Bonjour ou bonsoir, J'ai un listing avec le nom de propriétaires de parcelles villas ou appartements Je désire incérer un nouveau propriétaire en fonction du numéro de la parcelle.(le listing est dans l'ordre des numéros des parcelles).comment faire pour incérer un nouveau propriétaire entre la parcelle Y-25 et Y-27. Le
With ActiveSheet.Range("F2:F500")
Set c = .Find(TextBox8.Value, lookin:=xlValues)
If Not c Is Nothing Then
firstaddress = c.Address
End If
End With
Range(firstaddress).Select. ne fonctionne pas

f.Range("F" & Lr).Select
' For j = 1 To Lr
' If ActiveCell.Value > TextBox8.Value Then
'ActiveCell.EntireRow.Select
'Exit For
'End If
'ActiveCell.Offset(-1, 0).Select
'Next j ne fonctionne pas.
Pouvez vous m'aider s'il vous plait.? Je signale que j'ai essayé l'utilisation de Val pour changer la valeur des textbox de texte en chiffre. cela ne fonctionne pas non plus
J'essayé la sélection des derniers ou du dernier chiffre
TextBox2.Value = right(TextBox8.Value, 2), pour ne garder que des chiffres............Rien

15 réponses

Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020
293
Bonjour,

Il faut ajouter 2 colonnes supplémentaires pour décortiquer les n° (séparer les caractères avant et après le tiret de séparation), ceci effectué par formule, puis faire le tri à partir de ces 2 colonnes.

Voici un bout de code qui fait tout cela
Sub Tri_par_Numero()
    Dim DerLig As Long
    Application.ScreenUpdating = False
    DerLig = Range("A" & Rows.Count).End(xlUp).Row
    
    'Ajout de 2 colonnes pour extraire les caractères de part et d'autre du tiret de séparation
    Range("AC1:AD1").Value = Array("Caractère colonne F isolé", "N° colonne F isolé")
    Range("AC2:AC" & DerLig).FormulaR1C1 = "=MID(RC6,1,FIND(""-"",RC6,1)-1)"
    Range("AD2:AD" & DerLig).FormulaR1C1 = "=MID(RC6,FIND(""-"",RC6,1)+1,LEN(RC6)-FIND(""-"",RC6,1))"
    
    'Tri sur ces 2 nouvelles colonnes
    ActiveWorkbook.Worksheets("Listing").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Listing").Sort.SortFields.Add Key:=Range("AC2:AC" & DerLig), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
    ActiveWorkbook.Worksheets("Listing").Sort.SortFields.Add Key:=Range("AD2:AD" & DerLig), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
    With ActiveWorkbook.Worksheets("Listing").Sort
        .SetRange Range("A1:AD" & DerLig)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub


A noter qu'il y a des numéros dans la colonne F qui ne sont pas conformes aux autres enregistrements (il faut qu'il y ait impérativement un tiret de séparation)
Voici les lignes concernées dans votre fichier avant toute manipulation:
Lignes: 110, 117, 689, 700, 701 ,716, 733 .

Le fichier après correction et application du code ci-dessus
https://mon-partage.fr/f/jKJsBFQY/
Reste à corriger le N° de "REG#" en colonne A

Cdlt
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020

Merci pour le code. C'est un code que je dois ajouter au mien pour pouvoir incérer un nouveau propriétaire en dernière ligne et ensuite utiliser votre code?. Je dois le mettre donc dans le bouton incérer après l'inscription du nouveau propriétaire en fin de ligne .Merci pour tout car ,sans votre aide, j'aurai du faire cela à la main. C'est génial
Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020
293 >
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020

Copiez ce code à la suite du votre puis, après la dernière ligne de votre code, juste avant "End Sub", ajoutez ceci
Tri_par_Numero

Cela lancera la nouvelle macro automatiquement.

Cdlt
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020
>
Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020

Parfait encore une fois merci et faites attention à vous
Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020
293
Bonjour,

Pourquoi vouloir faire une insertion?

Copiez les nouvelles données sur la première ligne vide à la fin du tableau, puis effectuez un tri par parcelle.

Quant à votre code, les "Select" sont à éviter en plus d'être inutiles.

Cdlt
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020

bonjour Frenchie83. Merci pour ta réponse rapide. J'ai en fait commencé par cela, copier les datas du nouveau propriétaire en dernière ligne. Problème. Le tri d'Excell par parcelle ne fonctionne pas. Je m'explique dans les numéros de parcelles j'ai Y-21,Y1,Y2,Y1A, Y-13. et le tri me donne Y-1 , Y-1A, Y13, et Y2, Y21..etc......Donc impossible de remettre le nouveau dans la liste a sa place. Cela fait désordre.
Bonne journée.
Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020
293
Bonsoir,

Mais ne pouvez-vous pas ajouter une colonne qui numérote les parcelles (uniquement des chiffres) et faire le tri sur cette colonne?

Cdlt
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020

si vous voulez je vous envoie la feuille de tous les propriétaires mais comment faire?
Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020
293
Bonjour,

Allez sur https://mon-partage.fr/
Étape 1 : clic sur le bouton
« CHOISIR UN FICHIER » ; sélectionnez le fichier à joindre.

Étape 2 : clic sur le bouton Uploader (en bas de la page) ; attendre un peu
que le fichier soit chargé ; ensuite récupérez le lien de téléchargement et le coller ici.

Cdlt
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020

c'est génial la méthode pour envoyer les fichiers.
Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020
293 >
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020

En effet, c'est génial, encore faut-il penser à déposer le lien ici.
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020
>
Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020

Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020
293
Je ne peux pas tester, ça coince sur mon PC.

Mais je vois que vous avez un N° de REG#, qui est incrémenté de 1 par formule pour chaque ligne.

Je vous propose lors du nouvel enregistrement, ici "Y-26",
le N° précédent "Y-25" étant associé au N° REG# "792", attribuez le N° de REG# "792,1" au nouvel enregistrement, puis faites le tri sur la colonne A, ensuite, supprimez le ",1" du N° REG#.
le Nouvel enregistrement viendra s'intercaler entre le "Y-25" et le "Y-27".

Désolé, je ne peux pas tester.

Cdlt
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020

Merci pour votre réponse. Oui j'ai un numéro de registre en "A" et au début j'avais pensé l'utiliser pour justement enregistrer un nouveau propriétaire. Mais sans intervention manuelle cela n'est pas possible car on retombe toujours sur le fait que VBA ne reconnait pas dans la recherche le "Y-26" ou "G-12". De même que pour le tri il range de 1à 19 mais 1,3,4 et reporte le 2 pour commencer à compter 2,20,21,etc. Alors s'il faut sélectionner la ligne précédente Y-25 pour relever le numéro de ligne et ainsi inscrire Y-26. Cela n'est plus du Visual basic mais du Manual basic. Je ne comprends pas pourquoi la recherche ne trouve pas Y-26 ou R-45 ou B1-2, alors qu'il est facile de trouver des chiffres des noms mais pas de mélange. Merci pour cette aide. Je vais être dans l'obligation de faire comme il y a 20 ans "tout à la main". Merci
Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020
293
Bonjour,
"De même que pour le tri il range de 1à 19 mais 1,3,4 et reporte le 2 pour commencer à compter 2,20,21,etc"

Bizarre, je n'ai pas ce problème, le tri par ordre de grandeur s'effectue correctement sur la colonne A "REG#" . (attention, remplacez les formules par leurs valeurs avant de faire le tri)

Je ne comprends pas pourquoi la recherche ne trouve pas Y-26 ou R-45 ou B1-2, alors qu'il est facile de trouver des chiffres des noms mais pas de mélange

Là encore, en appliquant ceci, on trouve bien la ligne
        
    Set x = Sheets("Listing").Columns("F").Find("Y-25", lookat:=xlWhole)
    If Not x Is Nothing Then Lig = x.Row

Cdlt
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020

Bonjour, moi dans la colonne F il ne fait pas le tri correctement. et ne trouve pas Y-26 ni les autres dalleur. Peut être que la colonne doit être en texte ou en nombre. Je ne sais pas. Je vais essayer encore avec votre formule. Mais cette formule si vous regardez dans le programme existe et ne fonctionne pas. Merci encore
Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020
293
En regardant de plus près votre code, la valeur "Y-25" se trouve à la ligne 793, hors votre recherche s'effectue sur la plage "F1:F500", normal qu'elle ne soit pas trouvée.

Remplacez
With ActiveSheet.Range("F2:F500")
    Set c = .Find(TextBox8.Value, lookin:=xlValues)


Par
With ActiveSheet.Columns("F")
    Set c = .Find(TextBox8.Value, lookat:=xlWhole)


Cdlt
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020

Merci et c'est logique mais il y a aussi le fait que dans la textbox8 je lui demande d'aller chercher Y-26 qui justement est la parcelle que je dois incérer. La vieillesse est un naufrage et ce n'est pas moi qui l'ai dit.
Par contre comment lui dire que si il ne trouve pas Y-26 ,qu'il s'arrête sur la ligne d'après qu'il la sélectionne et qu'il copie le nouveau propriétaire. par exemple Y-26+1.Mais là il refuse.
Messages postés
2169
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2020
293
Il y a quelque chose qui m'échappe, vous voulez enregistrer un nouveau propriétaire et vous faites une recherche dans la liste existante, c'est sûr que vous ne le trouverez jamais puisqu'il n'existe pas encore.
J'en reviens donc à mon idée première qui est de l'enregistrer à la suite(en fond de tableau) puis de faire un tri sur la colonne F.
Le tri se fait correctement et les N° de parcelles sont bien l'ordre. Non!
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020

oui dans mon esprit, comme le tri ne se fait pas correctement (parce que j'ai déjà essayé cette solution) je pensai lui demander d'aller chercher Y-26 +1 ou moins 1 de sélectionner la ligne et d'incérer Y-26. Mais je vais tenter pour la énième fois le tri. Merci de votre patience.
Messages postés
12
Date d'inscription
vendredi 25 septembre 2020
Statut
Membre
Dernière intervention
29 septembre 2020

voila le résultat du tri. Tri personnalisé, colonne NUMERO, et avec entête. Une œuvre d'art

REG # TIPO INMUEBLE NOMBRE CALLE MANZANA NUMERO TIPO USO MIEMBRO NOMBRE PROPIETARIO/EMPRESA APELLIDO1 APELLIDO2 REPRESENTANTE CEDULA TELEFONO LOCAL/CEL TELEFONO EXTERNO/CEL CORREO ELECTRONICO
#REF! Villa Y Y-1 Bárbara Rodriguez 829 232-1290 1
#REF! Villa Y Y-10 Anel Augustin Marcial Veras 809 931-0504 11
#REF! Villa Y Y-11 KJELL NORD 809 526-1322 12
#REF! Solar Y Y-12 Ives Inmobiliaria, C. por A. 809 535-5164 13
#REF! Villa (Const.) Y Y-13 Milagros Altagracia Bueno Fermín 619 216-3857 14
#REF! Solar Y Y-14 Rosa Maria(1) y/o José(2) Caram(1) M.(2) 809 378-0622 15
#REF! Villa Y Y-15 Pedro Elmudesi 809-988-0272 16
#REF! Villa Y Y-16 Willian Leonaldo Erickson 809-235-9334 17
#REF! Villa Y Y-17 Victor Hugo Garcia B Ana V 809-682-3764 18
#REF! Villa No aplica Los Mangos Y Y-18 Alquiler D&M Inversiones, S.A. Danilo Mariot 001-0530135-2 809-591-0661 809-788-2333 mariotd@gmail.com 19
#REF! Solar No aplica Los Laureles Y Y-19 Ocasional Hector Herrand 001-0081965-5 809 689-2449 hectorherrand@codetel.net.do 20
767 Villa Y Y-1A Melchor Fernandez Matos 2
768 Solar Y Y-2 NelsonRafael Peda Burgos 809 412-4130 3
769 Villa y y-20 Santre Group, SRL 809-565-6776
770 Solar Y Y-21 Diego Humberto Pla Gómez 809 372-8044
771 Villa Y Y-22 Ana Maria Abreu 212 569-0994
772 Villa Y-23 Constructora Chevalier 809 529-1658 Ext.0000
773 Solar Los Laureles Y-24 René Peguero 809 682-3486
774 Villa No aplica Los Laureles Y Y-25 No Conocido Eugenio Pion Peda 028-0011679-6 809-910-8199 809-529-1010
775 Villa Y Y-26 Anel Augustin Marcial Veras 810 931-0504
776 Villa Y Y-27 Rosa Yvelisse Garcia Miguel
777 Villa Y Y-28 Rafael Enrique Pepén Blanco 809 556-3131
778 Villa (Const.) Y Y-29 Elfrede Wernisch 809 543-2862
779 Solar Y Y-3 Arturo Anibal Rincón Veras 809 227-7386 4
780 Villa Y Y-30 Norberto A. Santana V, 809 777-4800
781 Villa Y Y-31 José Miguel Luna 809 530-2123
782 Villa (Const) Y Y-32 Andres Nieve Paulino 809 685-2730
783 Villa (Const) Y Y-33 Robinson José Canó Mercedes 809 529-3648
784 Solar Y Y-34 Alvin Rosa Natal
785 Solar Y Y-35 Francés Rosa 809 682-1812
786 Solar Y Y-36 Claribel Margarita Mercedes
787 Villa Y Y-37 Alcibiades Marte 809 561-3074
788 Solar Y Y-38 Natanael Cordones Montás 809 686-4217
789 Villa Y Y-4 Arturo Anibal Rincón Veras 809 227-7386 5
790 Villa Y Y-40 Aura Hodte 809 499-0840
791 Solar Y Y-41 Nieve Altagracia Reyes Encarnaión 809 443-7945
792 Solar Y Y-42 Nieve Altagracia Reyes Encarnaión 809 443-7945
793 Solar Y Y-43 Fernando Ferreira 809 560-4856
794 Solar Y Y-44 Cesar Augusto Diaz Rodriguez 809 223-2720
795 Solar Y Y-45 S&m Motors SA 809-530-5766
796 Solar Y Y-46 Manuel Emilio Castro Frias 787 791-9749
797 Villa Y Y-47 Anel Augustin Marcial Veras 809 931-0504
798 Villa Y Y-47B Anel Augustin Marcial Veras 809 931-0504
799 Villa  No aplica Paseo de los Mangos Y Y-5 Ocasional Delfin Enrique Perez Mella 024-0014346-3 829-986-5354 809-563-7479 delfinperezg@yahoo.com 6
800 Villa Y Y-6 Claudia Ondina Báez Andujar 809 532-2400 7
801 Villa Y Y-7 Michael Woythaler 809 596-1474 8
802 Solar Y Y-8 Angela Altagracia Diloné Rodriguez 809 544-3476 9
803 Solar Y Y-9 Anel Augustin Marcial Veras 809 931-0504 10