XL 2010 !!! HELP Range Selection HELP !!!

Vinz061

XLDnaute Nouveau
Bonjour,

J'aurai besoin d'aide et de quelqu'un qui y voit plus clair que moi SVP.

J'ai une macro qui fonctionne très bien dans un fichier. Suite à une MàJ du fichier et un nouvel enregistrement, ma macro ne fonctionne plus.
Macro qui bug:
upload_2018-12-19_19-43-9.png


Si je compare mes 2 macros, la seule différence c'est "Selection" avec un "S" majuscule. J'ai tenté de mettre des majuscules partout, dès que je change de ligne, il me transforme mes majuscules en minuscule. Je ne m'en sort pas.
Est-ce la que se situe l'erreur de la macro de mon 2e fichier selon vous?
Pourquoi ne me laisse t-il pas mettre des majuscules si c'est ça son problème?

Macro qui fonctionne
upload_2018-12-19_19-45-38.png


Merci pour votre aide, là je ne comprend rien...
 

vgendron

XLDnaute Barbatruc
Bonjour


à première vue. déjà.. il y a beaucoup trop de selection dans ton code
quand vba met une majuscule, c'est qu'il reconnait un mot reservé
et faire un
range(selection,selection...) me parait bizarre....? suis meme étonné que ca fonctionne dans un de tes cas..
plutot que poster des images qui ne nous servent à rien (sauf à nous dire. dommage; on aurait pu aider), poste ton fichier exemple
 

laurent950

XLDnaute Accro
Bonsoir

VB:
Sheets("03").Select
' Selection de la plage A2 à H2
Range("A2:H2").Select
' Decomposition du Range.
' 1) Selection = rappel de la plage selectionné A2 à H2
' 2) Selection.End(xlDown) = par default premiére cellule non vide de la colonne A 
' (Colone le plus à gauche soit la A par default de la selection choisie comme aucune indication de 
' choix pour effectuer la recherche.
' c'est donc la première cellule non vide en partant du haut vers le Bas (A2/A3/A4 ect. jusqu'a 
' trouver une valeur (soit non vide pour la cellule trouver)
' donc : la dernière cellule non vide trouvé de cette même colonne A (donnera la zone de selection)
' exemple 
' du haut A2 vers le bas ------>>>>  A25 cellule non vide
' donc la selection sera A2:H25
' *********************************************************************
' Par Default c'est la première colonne de la sélection choisie
' si c'était C4:J6  pour une autre selection.
' c'est la colonne C choisie la plus a droite en partant (du haut vers le bas) avec    .End(xlDown)
' La dernière cellule non vide de la colone C dans l'exemple est la 26 donc
' la selection sera cette fois C4:J26
' 3)    .select   =    Selection de la zone C4 à J26
' Range(Selection, Selection.End(xlDown)).Select = selection de la zone C4:J26
End Sub

Donc en conclusion regarder dans la colonne A a partir de la ligne 2 soit : A2 pour la feuil 03
les cellules qui sont remplis
A3
A4
A5
ect.
jusqu'a identifier une erreur ou quelque choses qui manque

cela devrait par la suite fonctionné

Laurent
 
Dernière édition:

Vinz061

XLDnaute Nouveau
Bonjour,

En effet, ça parait bizarre mais ce qui a fonctionné pendant des mois ne fonctionne plus...
J'ai fait cette macro sur base d'enregistreur de macro. J'ai du mal à comprendre qu'Excel puisse enregistrer une formule qui ne fonctionne pas (compliquée oui mais elle devrait être fonctionnelle...?!).

voici ma macro en texte:

Sub RSPL05()

Application.ScreenUpdating = False

Sheets("Attributions FE").Select
Sheets("05").Select
Range("A2:H2").Select
Range(selection, selection.End(xlDown)).Select
selection.ClearContents 'Suppression RSPL actuelle
Sheets("Attributions FE").Select
If UCase(Range("C6").Value) = "X" Then
Sheets("InnovaPart").Select
Range("A2:H2").Select
Range(selection, selection.End(xlDown)).Select
selection.Copy
Sheets("05").Select
selection.End(xlDown).Select 'descend à dernière cellule pleine
selection.End(xlDown).Select 'descend à dernière cellule de la feuille
selection.End(xlUp).Select 'remonte à la première cellule
ActiveCell.Offset(1, 0).Select 'décallage 1 ligne par rapport à dernière cellule pleine
ActiveSheet.Paste
Range("A1").Select 'Retour en haut de page
ActiveWindow.ScrollRow = 3 'Retour en haut de page
End If

L'idée,
- J'ai du texte en colones A jusqu'à I.
- Je ne veux vider que les colones A jusqu'à H (en conservant bien sûr la ligne 1 avec mes entêtes de tableau)
- Chaque ligne est remplie sur toute sa longueur (la recherche de la dernière cellule non vide peut donc s'effectuer sur n'importe quelle colonne)

Ayant en moyenne un nombre à peu près équivalent de lignes remplies, j'ai testé A2:H500:

Sub RSPL03()
Application.ScreenUpdating = False
Sheets("Attributions FE").Select
Sheets("03").Select
Range("A2:H500").Select
selection.ClearContents

et la, bim, il me vire sur "selection.ClearContents" en me mettant à nouveau mon "S" en "s" de Selection.

upload_2018-12-20_15-18-31.png


Comme d'un problème résolu débouche un nouveau problème, j'ai repris une vieille version de mon fichier que je remet à jour. Les macros sont les memes. Je ne comprend pas ce que j'ai pu faire qui mette tout en l'air...
 

laurent950

XLDnaute Accro
Bonsoir,
Vous pouvez joindre le fichier ?

Sub nn()
'remplacer
'Sheets("03").Select
'Range("A2:H500").Select
'Selection.ClearContents
'par
'Pour info zone de selection Worksheets("03").Range("A2:H500").Select
' code ci dessous
Worksheets("03").Range("A2:H500").ClearContents

End Sub
 
Dernière édition:

Discussions similaires

Réponses
26
Affichages
419

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 529
dernier inscrit
moket07