erreur dans code

erreur dans code - VB/VBA/VBS - Programmation

Marsh Posté le 06-11-2005 à 01:38:39    

Bonjour j ai exposer un probleme dernierement mais je l avais mal exprimer mais bon je me reessaie !!! le code est si dessous et il est supposer selectionner les cellules d une colonne qui n ont pas d erreur de formule dans mon cas une recherche vertical sans reponse qui donne donc un #N/A mais la fonction arrete a 64 selection ensuite la fonction bogue et le deboggeur me dit que la ligne  Range(Rango1).Select est en erreur!!!  
donc si quelqu un a une solution me faire signe je suis vraiment dans le trouble avec ca
 
 
 
 
Sub MacroNoSelError()
Dim Rango1 As String
For Each celda In Selection
If Not IsError(celda) Then
If Rango1 = "" Then
Rango1 = celda.Address(False, False)
Else
Rango1 = Rango1 & "," & celda.Address(False, False)
End If
End If
Next celda
Range(Rango1).Select
End Sub

Reply

Marsh Posté le 06-11-2005 à 01:38:39   

Reply

Marsh Posté le 06-11-2005 à 03:27:00    

Bonjour,
Bien que qu'une Variable String puisse être très longue....
l'expression Range(String) n'accepte pas plus de 256 caractères dans son String
Tu peux améliorer un peu la situation avec cette macro :

Code :
  1. Sub Test()
  2. Dim Mem$, Sep$, Z$, o As Object
  3. For Each o In Selection
  4.   If Not IsError(o) Then
  5.     If Z = "" Then
  6.     Z = o.Address(False, False)
  7.     Sep = ":"
  8.     Else
  9.       If Sep = ":" Then
  10.         Mem = o.Address(False, False)
  11.       Else
  12.         Z = Z & Sep & o.Address(False, False)
  13.         Sep = ":"
  14.       End If
  15.     End If
  16.   Else
  17.       If Sep = ":" Then Z = Z & Sep & Mem
  18.     Sep = ","
  19.   End If
  20. Next o
  21.   If Sep = ":" Then Z = Z & Sep & Mem
  22. Range(Z).Select
  23. End Sub

Mais... l'affirmation précédente reste vrai :
Si tu as trop de valeurs d'erreur cette macro trouve ses limites très rapidement aussi.
De plus ça ne marcherait pas sur une sélection multicolonne...
Enfin, si ça peut te dépanner.
A+


Message édité par galopin01 le 06-11-2005 à 03:35:18
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed