Bud sur macro de modification

Salut Forum,

je suis en train d'essayer de réaliser un outil de gestion d'immeuble locatifs.

À titre informatif:

(l'interface n'est pas fini, ce n'est pas fonctionnel, c'Est encore en cours de codage ......)

le premier formulaire sert à enregistrer un nouvel immeuble

si ensuite on doubleclic dans la listbox on peut aussi enregistrer une location

il y a aussi le formulaire sur la feuille locataire qui sert à créer un locataire, on peut aussi lui attribuer une location.

J'ignore pourquoi mais mon bouton "modifier" du formulaire LOCATAIRES fonctionne 1 fois sur 2.

Parfois il modifie la bonne ligne, parfois non.

chez nous il est tard et mon cerveau est en bouilli faut croire!

quelqu'un pour y jeter un oeil?

tant qu'à avoir un pro d'excel ...:

Dans le userform LOCATAIRES:

La combobox2 du formulaire s'alimente en fonction du choix de la combobox1, vous comprendrez que je ne voudrais pas attribuer 2 fois le même logement à 2 locataires différents, quelle serait la bonne facon pour trier les logements déjà attribués et les retirer de la liste disponible dans la combobox2?

Merci!!!!!!!!!!!!!

Bonjour,

... J'ignore pourquoi mais mon bouton "modifier" du formulaire LOCATAIRES fonctionne 1 fois sur 2. ...

Sur ma machine, il n'y a pas de souci. Par hasard, est-ce que tu utilises une souris sans fil ? Quand la batterie faiblit, l'on observe ce genre de souci.

Pour le 2e souci, je ne vois pas trop à part une feuille ou chaque immeuble aurait 2 colonnes ...

  • 1 = les apparts
  • 2 = un x (ou autre) pour indiquer qu'il est loué (occupé)

ric

Salut!

merci de t'intéresser

oui j'utilise une souris sans fil, je vais voir si ca change avec une nouvelle batterie ...

pour la deuxieme chose j'avais pensé à ca aussi après avoir posé la question ...

bon ben je m'y mets!

merci bcp!

Non, toujours le même bug, je remarque que c'est lorsqu'on en fait plus d'un d'affilé.

Bonjour,

Je vais tenter de reproduire le souci.

ric

En fait, après plusieurs test, j'ai l'impression que c'est seulement lorsque j'essaie de modifier la ligne 1 qu'il change les infos de la ligne 4!

Honnêtement j'en peux plus!!

J'essaie d'avancer sur les autres formulaires bien sûr, mais ce bug me reste dans la tête!!

Je vais tenter la recherche croisé, j'espère que c'est permis .......

Bonjour,

Sur cette version ci, y a-t-il amélioration ?

J'ai désactivé entre autres les On Error Resume Next ... qu'il faut utiliser avec parcimonie.

ric

Non c'est pareil,

je mets à disposition un vidéo qui illustre le bug

La fonction Find retourne un nombre pas un range, même en essayant de modifier le code c'est encore pire:

CODE DE DÉPART:

Dim lCol As Long, lRow As Long
Dim Cl As Range

    lCol = sh_Lo.Cells(1, Columns.Count).End(xlToLeft).Column
    lRow = sh_Lo.Cells(Rows.Count, 1).End(xlUp).Row

    Dim searchRng As Range: Set searchRng = sh_Lo.Range("A1:A" & lRow)
    FlgModif = True

    'On Error Resume Next
    Suite = False

    Set Cl = sh_Lo.Cells.Find(What:=Me.Lo_TextBox1.Value, After:=searchRng(searchRng.Count), _
                              LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
                              SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)

    For i = 2 To lCol
        sh_Lo.Cells(Cl.Row, "A").Offset(0, i - 1).Value = Me("Lo_TextBox" & i).Value
    Next
    'FlgModif = False

    Suite = True

CODE MODIFIÉ POUR RETOURNER UN RANGE:

Private Sub CommandButton2_Click()
Dim lCol As Long, lRow As Long
Dim Cl As Long
lCol = sh_Lo.Cells(1, Columns.Count).End(xlToLeft).Column
lRow = sh_Lo.Cells(Rows.Count, 1).End(xlUp).Row
Dim searchRng As Range: Set searchRng = sh_Lo.Range("A1:A" & lRow)
FlgModif = True
'On Error Resume Next
Suite = False
Cl = sh_Lo.Cells.Find(What:=CInt(Me.Lo_TextBox1.Value), After:=searchRng(searchRng.Count), _
LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
For i = 2 To lCol
sh_Lo.Cells(Cl + 1, "A").Offset(0, i - 1).Value = Me("Lo_TextBox" & i).Value
Next
'FlgModif = False
Suite = True
End Sub

MAIS HONNÊTEMENT, C'EST PIRE:

En changant le range de recherche pour démarrer à A2, tout semble fonctionner jusqu'à présent

Private Sub CommandButton2_Click()
Dim lCol As Long, lRow As Long
Dim Cl As Long
lCol = sh_Lo.Cells(1, Columns.Count).End(xlToLeft).Column
lRow = sh_Lo.Cells(Rows.Count, 1).End(xlUp).Row
Dim searchRng As Range: Set searchRng = sh_Lo.Range("A2:A" & lRow)
FlgModif = True
'On Error Resume Next
Suite = False
Cl = sh_Lo.Cells.Find(What:=CInt(Me.Lo_TextBox1.Value), After:=searchRng(searchRng.Count), _
LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
For i = 2 To lCol
sh_Lo.Cells(Cl + 1, "A").Offset(0, i - 1).Value = Me("Lo_TextBox" & i).Value
Next
'FlgModif = False
Suite = True
End Sub

Bonjour,

J'étais complètement dans le champs, je n'avais pas compris ton soucis ... désolé

Dans un autre post, tu mentionnais le nombre de colonnes plus grand que 10.

J'ai changé la listbox par une listview.

La sélection d'un ligne dans le listview met les bons items dans les textbox.

Le bouton Modifier met le contenu des textbox dans le tableau Loca_Tab de la feuille LOCATAIRES .

Je suis rendu à gérer les deux combobox Immeubles et apparts. Dans le cas Immeuble, la liste sera vide si tous les apparts de tous les immeubles sont loués (seul apparaître l'immeuble que le locataire loue présentement).

Dans le cas appart, la liste sera vide si tous les apparts de l'immeuble (combobox précédent) sont loués (seul apparaître l'appart que le locataire loue présentement).

J'ai créé une feuille Apparts pour les immeubles et apparts de chaque immeuble.

En attendant, vois si le Lo_ListView te convient zou pas.<

Le bouton Nouveau est à vérifier. (pas encore regardé)

ric

ric je n'avais pas remarqué la nouvelle feuille apparts, j'y jette un oeil et te rviens

merci

Merci, j'ai télécharger ton fichier et je vais regarder ca.

À ta connaissance, y'a-til des bug sur les listview pour les versions 32bit ?

Le fichier ne m'est pas nécéssairement destiné et je voudrais m'Assurer que ca fonctionne sur tous les systèmes.

Je me souviens que je n'avais pas de control listview sur mon ancien pc ........

Bonjour,

Je travaille sur une version 32 bits d'Excel 365.

Je viens de tester très sommairement le fichier sur une autre machine munie d'une version 64 bits d'Excel 365 > le listview s'ouvre normalement et l'on peut sélectionner une ligne > les infos apparaissent dans les textbox.

ric

Good parfait merci!

On s'enteds qu'une listview c'est pas mal plus joli!!

Bonjour,

J'avance lentement ...

Je gère l'alimentation de combobox1 et 2 du (userform locataires) avec restriction (libre/loué).

ric

Bonjour,

Est-ce que par zhasards je t'aurais oublié ?

ric

Bien disons que moi aussi j'ai moi-même mis ce projet sur attente mais hier je naviguais un peu dans les messages que j'avais envoyé mais je me suis rappelé ce projet je voulais juste apprécié que tu m'avais aider ce n'était pas dans le but de faire aucun rappel.

Il faudrait que je m'y remette par contre

Rechercher des sujets similaires à "bud macro modification"