Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1539 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème de "zéro" lors fusion plusieurs cellules

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de "zéro" lors fusion plusieurs cellules

n°2190074
macrosouci​s
Posté le 14-05-2013 à 10:59:09  profilanswer
 

Bonjour,
 
 
J'ai un soucis lorsque je souhaite accoler plusieurs cellules d'une même ligne.
Mon problème est le suivant; prenons un exemple:
 
Pour la ligne 1 fixée,en A1 j'ai : 26, en A2 j'ai B4, en A3 j'ai 026 et en A4 j'ai 001
 
 
Maintenant pour accoles les 4 cellules en 1 seule et unique en A5, j'utilise cette macro qui fonctionne mais qui me pose aussi un soucis:
 
Sheets("hhhhhh" ).Select
For p = 2 To 50
Range("E" & p).Select
ActiveCell.FormulaR1C1 = "=RC[-4]&RC[-3]&RC[-2]&RC[-1]"
next
 
end sub
 
Ca fonctionne sauf que ma cellule finale est : 26A2261
 
Il manque les zéros devant le 26 et les 2 zéros devant le 1....
 
Pour mettre les zéros dans mes macros précédentes pour chaque colonne je notais:
Sheets("hhhhhhh" ).Select
 Columns("D:F" ).Select
    Selection.NumberFormat = "000"
 
 
Mais celle ci ne semble pas être prise en compte lors de l'accolement...
 
Si quelqu'un pourrait m'aider ça serait vraiment génial car il ne me manque plus que ça pour finir ma macro !

mood
Publicité
Posté le 14-05-2013 à 10:59:09  profilanswer
 

n°2190088
macrosouci​s
Posté le 14-05-2013 à 11:33:52  profilanswer
 

J'ai un soucis encore plus grave je crois...
 
 
Ma toute dernière étape consiste à copier la colonne contenant la somme de cellules accolées vers une autre feuille.
 
Ma macro tiens en 1 ligne:
 
For a = 2 To 50
Worksheets("hhhhhhhh" ).Range("G" & a).Copy Worksheets("données" ).Range("A" & a)
 Next
 
 
mais ça me met dans ma colonne copiée :
=#REF!&#REF!&#REF!&#REF!&#REF!&#REF!
 
et ça pour toutes les lignes...
 
 
Pouvez vous m'aider s'il vous plait car j'y arrive vraiment pas et ça commence à me désespérer. Je débute sur VBA et j'arrive pas à trouver de l'inspiration pour débloquer le truc...

n°2190099
Marc L
Posté le 14-05-2013 à 12:51:02  profilanswer
 

 
           Bonjour.
 
           Pour le premier message, attention à l'exemple du contenu des cellules et du résultat, car s'il n'y a pas de logique entre
           (je ne vois pas comment obtenir ce résultat vu le contenu des cellules ‼),
           il ne faut pas alors s'étonner de ne pas obtenir de réponse …
 
           Quant au code, l'icône prévue à cet effet doit être utilisée !
 
           Je n'ai aucun souci avec votre code, les zéros sont bien conservés si les cellules sont en format texte …
 
           Pour des cellules en format numérique :

Code :
  1.     Worksheets("hhhhhh" ).Activate
  2.     Range("E2:E50" ).FormulaR1C1 = "=RC[-4]&RC[-3]&TEXT(RC[-2],""000"" )&TEXT(RC[-1],""000"" )"

           Au passage, plus il y a de  Select  dans un code plus l'exécution est lente, à proscrire donc !
 
 
           Quant au second message, c'est normal vu la copie de formules au lieu de valeurs …          
           Est-il obligatoire d'avoir une formule, la valeur seule ne suffirait-elle pas ?
 
           Dans le cas d'une formule, il faut la recréer et non pas la copier.
           Sinon pour la valeur, voir l'aide de la méthode  PasteSpecial  appliquée à un objet Range

Message cité 1 fois
Message édité par Marc L le 14-05-2013 à 13:20:23
n°2190102
macrosouci​s
Posté le 14-05-2013 à 13:28:01  profilanswer
 

Bonjour Marc L
 
Merci beaucoup pour votre réponse ! J'ai essayé et ça marche bien en effet ! Je ne savais pas qu'il était possible de mettre un code en format texte ...je n'y aurais jamais pensé !  
Je débute aussi et cela est vrai que ce n'est jamais évident.
 
En tout cas merci encore de votre réponse ! Il me reste à "décrypter" votre seconde partie de réponse mais je vais y arriver.
 
 
Bon après midi  
 

n°2190106
macrosouci​s
Posté le 14-05-2013 à 13:53:50  profilanswer
 

J'ai trouvé sur le net un problème similaire au mieux où la personne voulait appliquer PasteSpecial mais lorsque je l'applique je rencontre le même problème que précédemment...c'est à dire
A1 = =#REF!&TEXTE(#REF!;"00" )&#REF!&TEXTE(#REF!;"00" )&TEXTE(#REF!;"000" )&TEXTE(#REF!;"000" )
 
et cela pour toutes les lignes  
 
Je voudrais juste copier les valeurs en effet si possible.
 
Ma macro est :
For x = 2 To 50
Sheets("" ).Range("E" & x).Copy
Sheets("données" ).Range("A" & x).PasteSpecial Paste:=xlPasteAll
Next
 
merci si vous pouviez une dernièrement fois m'aider !

n°2190112
macrosouci​s
Posté le 14-05-2013 à 14:28:09  profilanswer
 

C'est bon j'ai trouvé ! :D
 
Merci en tout cas de votre aide Marc L !

n°2190114
Marc L
Posté le 14-05-2013 à 14:34:48  profilanswer
 

 
           Bien !
 
           Au fait, comme dans mon exemple précédent, pas besoin de boucle, la plage peut être copiée puis collée en une seule fois …
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème de "zéro" lors fusion plusieurs cellules

 

Sujets relatifs
Trier une liste de cellulesProblème d'affichage
probleme d'incompatibilité CSS entre firefox et chrome[PHP]Problème d'autentification en PHP
[Résolu][Perl] Découper un fichier en plusieurs et optimisationProblème programme ( raspberry + arduino )
probléme d'activation de snmp sous easyphpProblème affichage de l'heure
[Résolu] Problème de tableau multidimensionnel et associatifProbleme redimensionnement balise <object> javascript
Plus de sujets relatifs à : Problème de "zéro" lors fusion plusieurs cellules


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR