Compréhension du End(x1Up)

Nashpuss

XLDnaute Nouveau
Bonjour,

J'apprends petit à petit à manier vbe et surtout les Userforms, en copiant parci parlà des bouts de codes. Du coup je maitrise pas encore les fondamentaux.

Je voudrais rajouter 2 fois une ligne à la suite d'autres lignes situées à 2 endroits différents (Des lignes entre 1 et 6000 et des lignes après).

Mon code
Code:
[A6000].End(xlUp).Offset(1, 0).Select
le fait pour la première zone mais ça me marque "Erreur définie par l'application ou par l'objet" pour le 2ème code
Code:
 [A7000].End(x1Up).Offset(1, 0).Select

Je pense que le problème vient du fait que pour le premier End(x1Up) la valeur est -4162 alors qu'elle est vide pour le 2ème. Mais je vois pas pourquoi.

Code:
Private Sub ValiderNEW_Click()
'--- Contrôles
   If Me.Dateapprob = "" Then
      MsgBox "Saisir une date d'approbation!"
      Me.Dateapprob.SetFocus
      Exit Sub
   End If
   If Me.DateEditionNew = "" Then
      MsgBox "Saisir une date d'édition!"
      Me.DateEditionNew.SetFocus
      Exit Sub
   End If
   '-- Date?
   If Not IsDate(Me.Dateapprob) Then
      MsgBox "Saisir une date!"
      Me.Dateapprob = ""
      Me.Dateapprob.SetFocus
      Exit Sub
   End If
   If Not IsDate(DateEditionNew) Then
      MsgBox "Saisir une date!"
      Me.DateEditionNew = ""
      Me.DateEditionNew.SetFocus
      Exit Sub
   End If
   Dateapprob.Value = Format(Dateapprob.Value, "dd/mm/yyyy")
   DateEditionNew.Value = Format(DateEditionNew.Value, "dd/mm/yyyy")
   '--- Positionnement dans la base revue ou approb
[B][A6000].End(xlUp).Offset(1, 0).Select[/B]
   '--- Transfert Formulaire dans BD
   ActiveCell.Value = Me.Num_identif_NEW
   ActiveCell.Offset(0, 1).Value = Me.Dateapprob
   ActiveCell.Offset(0, 2).Value = "Approbation de la version A, édition du " & Me.DateEditionNew
   ActiveCell.Offset(0, 3).Value = "-"
    '--- Positionnement dans la base "prochaine action à faire"
 [B][A7000].End(x1Up).Offset(1, 0).Select[/B]
   ActiveCell.Value = Me.Num_identif_NEW
   ActiveCell.Offset(0, 1).Value = DateAdd("yyyy", 1, Me.DateEditionNew)
   ActiveCell.Offset(0, 2).Value = "Prochaine revue de la version A"
   ActiveCell.Offset(0, 3).Value = "-"
  Unload Me

Pouvez vous m'aider?

Je vosu remercie à l'avance
 

Catrice

XLDnaute Barbatruc
Re : Compréhension du End(x1Up)

Bonjour,

Chez moi ça fontionne bien si le code est bien écrit ;)
xlUp au lieu de x1Up :D
Ne pas confondre de "1" et le "l"

Pour eviter ce genre de pb tape toujours le code en minuscule.
Si c'est bien saisi, le "u" passera en majuscule "U" ...


Je te conseille d'eviter les Select :

Sub Test()
With [A6000].End(xlUp).Offset(1, 0)
'--- Transfert Formulaire dans BD
.Value = "Zozo"
.Offset(0, 1).Value = "Roro"
.Offset(0, 2).Value = "Approbation de la version A, édition du "
.Offset(0, 3).Value = "-"
End With
'--- Positionnement dans la base "prochaine action à faire"
With [A7000].End(xlUp).Offset(1, 0)
.Value = "Titi"
.Offset(0, 1).Value = "toto"
.Offset(0, 2).Value = "Prochaine revue de la version A"
.Offset(0, 3).Value = "-"
End With
End Sub

ou ceci :

Sub Test()
With [A6000].End(xlUp).Offset(1, 0)
'--- Transfert Formulaire dans BD
.Value = "Zozo"
.Offset(0, 1).Value = "Roro"
.Offset(0, 2).Value = "Approbation de la version A, édition du "
.Offset(0, 3).Value = "-"
'--- Positionnement dans la base "prochaine action à faire"
.Offset(1, 0).Value = "Titi"
.Offset(1, 1).Value = "toto"
.Offset(1, 2).Value = "Prochaine revue de la version A"
.Offset(1, 3).Value = "-"
End With
End Sub
 
Dernière édition:

Statistiques des forums

Discussions
312 424
Messages
2 088 286
Membres
103 807
dernier inscrit
Mythofou