XL pour MAC Créer une macro pour redistribuer vers plusieurs cellules

Chris Toff

XLDnaute Nouveau
Bonjour,
Je cherche à créer une macro pour récupérer les informations d'une cellule et les distribuer dans plusieurs cellules sur la même ligne, puis passer à la ligne suivante ...
J'ai enregistrer cette macro mais elle ne passe pas à la ligne.

Ex : "C573" vers "J;K;L;M;O 573" mais j'aimerai qu'ensuite celle-ci se répète en "C574" vers "J;K;L;M;O 574"

Sub Macro6()
'
' Macro6 Macro
'
' Touche de raccourci du clavier: Ctrl+u
'
Range("C573").Select
ActiveCell.FormulaR1C1 = _
"Type : Pompe à chaleur Air/Air - Gamme : Mono-split Emura - Puissances restituées nominales (Froid/Chaud) : 2500 / 3400 watts - Puissances absorbées nominales (Froid/Chaud) : 550 / 770 watts - Classe énergétique saisonnier (Froid/Chaud) : A+++ / A++ - Coefficients de performance saisonnier (SEER/ SCOP): 8,57 / 4,60 - Pression sonore : 47 dB(A) - Type de réfrigérant " & _
"/ PRP : R-410A /2088 - Consommation énergétique annuelles (Froid/Chaud) : 102 / 833 KWh" & _
""
Range("J573").Select
ActiveSheet.Paste
ActiveCell.FormulaR1C1 = "(Froid/Chaud) : 2500 / 3400 watts"
Range("K573").Select
ActiveSheet.Paste
ActiveCell.FormulaR1C1 = "(Froid/Chaud) : 550 / 770 watts"
Range("L573").Select
ActiveSheet.Paste
ActiveCell.FormulaR1C1 = "(Froid/Chaud) : A+++ / A++"
Range("M573").Select
ActiveSheet.Paste
ActiveCell.FormulaR1C1 = "(SEER/ SCOP): 8,57 / 4,60"
Range("N573").Select
ActiveSheet.Paste
ActiveCell.FormulaR1C1 = "47 dB(A)"
Range("O573").Select
ActiveSheet.Paste
ActiveCell.FormulaR1C1 = "(Froid/Chaud) : 102 / 833 KWh"
Range("C574").Select
End Sub

Pouvez-vous m'aider car j'ai 640 lignes à modifier et sans macro c'est long !!!
Merci,
Christophe.
 

Phil69970

XLDnaute Barbatruc
Bonsoir Christophe, le forum

Si j'ai bien compris ta demande :

VB:
Sub Macro6()
' Touche de raccourci du clavier: Ctrl+u
'

'Si tu veux copié à partir de la ligne 573 et faire cela sur les 640 lignes suivantes, tu mets 1213
'car 573 + 640 = 1213
For i = 573 To 574 '<== ici 1213 à la place de 574 donc For i = 573 To 1213
  
    Range("C" & i) = "Type : Pompe à chaleur Air/Air - Gamme : Mono-split Emura - " & _
    "Puissances restituées nominales (Froid/Chaud) : 2500 / 3400 watts - Puissances " & _
    "absorbées nominales (Froid/Chaud) : 550 / 770 watts - Classe énergétique saisonnier " & _
    "(Froid/Chaud) : A+++ / A++ - Coefficients de performance saisonnier (SEER/ SCOP): " & _
    "8,57 / 4,60 - Pression sonore : 47 dB(A) - Type de réfrigérant " & _
    "/ PRP : R-410A /2088 - Consommation énergétique annuelles (Froid/Chaud) : 102 / 833 KWh"
    Range("J" & i) = "(Froid/Chaud) : 2500 / 3400 watts"
    Range("K" & i) = "(Froid/Chaud) : 550 / 770 watts"
    Range("L" & i) = "(Froid/Chaud) : A+++ / A++"
    Range("M" & i) = "(SEER/ SCOP): 8,57 / 4,60"
    Range("N" & i) = "47 dB(A)"
    Range("O" & i) = "(Froid/Chaud) : 102 / 833 KWh"
  
Next i

End Sub

Sinon un fichier anonymiser serait le bienvenu....
Merci de ton retour.

@Phil69970
 
Dernière édition:

Chris Toff

XLDnaute Nouveau
Bonjour Phil,
Super et merci beaucoup pour ton aide, je n'ai pas encore testé mais je te tiens informé.
En effet, j'ai donné en exemple la ligne 573 mais il y a les autres et des lignes ou les données seront réparties dans d'autres cellules (P;Q;R).
Je vais modifier la formule en fonction des modifications à faire.
Que signifie un fichier "anonymiser" ?
Belle journée.
Christophe.
 

Phil69970

XLDnaute Barbatruc
Bonjour Christophe, le forum

Un fichier anonymiser est un fichier qui respecte le RGPD c'est à dire qu'il n'y a pas de nom, adresse, mail .... de personnes réelles et identifiables , donc à la place des dits nom, adresse, mail .... tu mets dans ton fichier
suivant ton inspiration par exemple toto Pierre, 15 rue de l’inconnue, toto.pierre@free.fr.....
Si ton fichier n'a aucun nom, adresse, mail .... alors pas de problème et qu'il est conforme à la charte du site que tu as évidement lu et accepté ;) pour t'inscrire.

* De plus, il est de bon ton de faire un retour à la communauté du forum de la solution que tu as choisis et qui fonctionne pour ta demande voir un mixte de plusieurs solution quand tu as plusieurs réponses et solution qui correspondent à ta demande ce qui permettra d'aider d'autres personnes qui peuvent se poser des questions similaires.

Belle journée à toi aussi.
@Phil69970
 

Chris Toff

XLDnaute Nouveau
Phil,
En fait la macro recopie toujours les même données, alors que dans les cellules "C" les données changent à chaque ligne.
Il faut que les données récupérées dans C573 se reportent dans J573;K573;L573;M573;O573 puis de C574 à J574;K574;L574;M574;O574, etc...
 

Phil69970

XLDnaute Barbatruc
Christophe

Un fichier exemple serait le bienvenu car ton explication ne correspond pas à la macro que tu as posté ici.
Dans ton fichier tu mets 3 ou 4 lignes avec ce que tu as avant et et ce que tu cherches à avoir après.
Tu indiques clairement ou tu veux avoir tes données cellules/feuilles etc....

Dis autrement :
Ce que tu as ....
Et ce que tu veux avoir... le tout dans un fichier....

@Phil69970
 

Phil69970

XLDnaute Barbatruc
Bonsoir Christophe, le forum

Quelques explications et un fichier :
1)Pour récupérer les valeurs je passe par une fonction qui se trouve dans le module 1.
Ensuite la formule qui se trouve dans les différentes cellules appelle la fonction.

2)Dans ta phrase :
"Type : Pompe à chaleur Air/Air - Gamme : Mono split, Perfera R - Puissances restituées nominales (Froid/Chaud) : 2500 / 3400 watts - Puissances absorbées nominales (Froid/Chaud) : 550 / 770 watts - Classe énergétique saisonnier (Froid/Chaud) : A+++ / A++ - Coefficients de performance saisonnier (SEER/ SCOP): 8,57 / 4,60 - Pression sonore : 47 dB(A) - Type de réfrigérant / PRP : R 410A /2088 - Consommation énergétique annuelles (Froid/Chaud) : 102 / 833 KWh"

J'ai modifié 2 petites choses qui sont indispensables sinon cela ne marchera pas. :

a)J'ai rajouté une virgule entre mono split et Perfecta R
b)J'ai enlevé le tiret entre mono et split donc maintenant tu l'écris soit mono split soit monosplit sans tiret.

La recherche dans la phrase se fait :
Par les :
Par les tirets -
Par la virgule ,

En fonction de ces éléments ( 2 points, tiret et virgule ) la formule récupère les valeurs qui vont bien....

Voila tu sais tout ... ;)

Par contre je ne sais comment traduire la phrase :
"J'aimerai pouvoir les distribuer pour les importés dans un logiciel"

@Phil69970
 

Pièces jointes

  • Exemple modifications V1.xlsm
    47 KB · Affichages: 8

Chris Toff

XLDnaute Nouveau
Bonjour Phil,
Merci pour ta réponse, je vais aller voir le module 1.
Traduction : j’ai acheté un logiciel de gestion d’entreprise dans lequel je dois importer mon classeur « articles » et celui-ci récupère des données dans ce fichier pour les fusionner dans mes devis et factures.
Il faut donc que je sépare les données de la phrase dans des colonnes pour les importer indépendamment les unes des autres.
J’ai déjà tenté les fonctions STXT, GAUCHE, DROITE mais ça ne fonctionne pas car il récupère la fonction et pas le texte, sauf mauvaise manipulation de ma part ...
C’est pour ça que je cherche à automatiser un genre de copier/coller des morceaux de données de la phrase pour les répartir dans des colonnes.
J’espère que ce que je veux est réalisable sinon j’en ai pour un mois à la faire à la main.
 

Phil69970

XLDnaute Barbatruc
Christophe

Ok pour la traduction ;)
Si il ne récupère pas les valeurs mais seulement les formules il te faut une fois appliquée toutes les formules, (5 secondes contre 1 mois) copiées ta feuille vers une autre feuille ou écraser tes formules sur la même feuille.

Voir fichier modifié :
*Modification formule en D2 suite petite erreur dans la formule

@Phil69970
 

Pièces jointes

  • Exemple modifications V2.xlsm
    60.7 KB · Affichages: 6
Dernière édition:

Phil69970

XLDnaute Barbatruc
Oups....
Pour faire mes tests j'ai oublié de supprimer une ligne de ma macro ce qui empêchait de copié les valeurs et donc de supprimer les formules si tu choisissais ==>
1612024454219.png


Fichier rectifié......

@Phil69970
 

Pièces jointes

  • Exemple modifications V2.xlsm
    60.2 KB · Affichages: 4

Chris Toff

XLDnaute Nouveau
Bonsoir Philippe,

J'ai copié les formules mais Excel m'indique une erreur #NOM dans les cellules, j'ai essayé de comprendre mais ça dépasse largement mes compétences !
Merci pour ton aide.
Christophe.
 

Pièces jointes

  • Exemple modifications .xlsx
    14.4 KB · Affichages: 3

Statistiques des forums

Discussions
314 633
Messages
2 111 404
Membres
111 124
dernier inscrit
presa54