Saut de ligne dans une macro ?

  • Initiateur de la discussion Initiateur de la discussion Mattharm
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Mattharm

XLDnaute Occasionnel
Bonsoir ,

Dans le code de ma macro j'indique a excel de récupérer les données de plusieurs cellules d'une sheet externe que je met dans une cellule de ma feuille principale:

Code:
Cells(1,1).value = Sheets("Donnees").cells().value & Sheets("Donnees").cells().value & Sheets("Donnees").cells().value

Mais le & ne me permet pas de mettre a la ligne dans la cellule après chaque information ?
Quel est le code me permettant de le faire ??


Merci bien,
Matthieu
 
Re : Saut de ligne dans une macro ?

Bonsoir Mattharm


Code:
Sub test()
With Sheets("Donnees")
Sheets("Feuil1").Cells(1, 1).Value = .Cells(1, 1).Value _
                                & Chr(10) & .Cells(2, 2).Value _
                                & Chr(10) & .Cells(3, 3).Value
End With
End Sub

J'me suis permis de mettre un With Sheets("Donnees") pour raccourcir l'instruction.

XanorK
 
Re : Saut de ligne dans une macro ?

Ok 🙂

Et sinon j'aurais voilu savoir comment je pouvais faire parce que des fois les cellules de la sheet données sont vide donc excel saute une ligne pour rien ?!!!!!

Je peux mettre une condition ou pas quelque part dans ce with ou pas ?

Encore merci pour votre aide 😉🙂
 
Re : Saut de ligne dans une macro ?

Code:
Sub AnnuR()
Dim x As Integer
Dim y As Integer
Dim z As Integer

x = 1
z = 1

For y = 1 To 170


Rows(x).Select
Selection.RowHeight = 96

With Sheets("Donnees")
Sheets("Annuaire").Cells(x, 2).Value = .Cells(z, 2).Value _
                                & " " & .Cells(z, 4).Value _
                                & Chr(13) & .Cells(z, 6).Value _
                                & Chr(13) & .Cells(z, 7).Value _
                                & Chr(13) & .Cells(z, 8).Value _
                                & Chr(13) & .Cells(z, 9).Value _
                                & Chr(13) & "Télephone:" & .Cells(z, 10).Value _
                                & Chr(13) & "Fax: " & .Cells(z, 11).Value _
                                & Chr(13) & "Mail: " & .Cells(z, 12).Value

End With

z = z + 1
x = x + 1

Rows(x).Select
Selection.RowHeight = 10

x = x + 1



Rows(x).Select
Selection.RowHeight = 96

With Sheets("Donnees")
Sheets("Annuaire").Cells(x, 2).Value = .Cells(z, 2).Value _
                                & " " & .Cells(z, 4).Value _
                                & Chr(13) & .Cells(z, 6).Value _
                                & Chr(13) & .Cells(z, 7).Value _
                                & Chr(13) & .Cells(z, 8).Value _
                                & Chr(13) & .Cells(z, 9).Value _
                                & Chr(13) & "Télephone:" & .Cells(z, 10).Value _
                                & Chr(13) & "Fax: " & .Cells(z, 11).Value _
                                & Chr(13) & "Mail: " & .Cells(z, 12).Value

End With
z = z + 1
x = x + 1


Next
End Sub

Voici à quoi ressemble ma macro a l'heure actuelle 🙂
Sauf que lorsqu'il n'y a rien dans une cellule genre la cells(z,6) qui correspond à l'adresse, dans mon fichier à imprimer, il saute une ligne ! ce qui est normal 🙂
Comment puis je mettre une condition pour que si la ligne est vide, il ne la prenne pas ?

Merci à tous 😉

Matthieu
 
Re : Saut de ligne dans une macro ?

Salut béa !

Merci pour ton aide 🙂
Je vois comment je dois faire mais si maintenant par exemple le numéro de tel et l'adresse sont absents ? Je ne vais pas créer une boucle if géante ?

Il existe une autre solution ? Ou J'ai intêret à changer (pour quoi je ne sais pas) totalement la synthaxe ???? 😉

Merci
Matthieu
 
Re : Saut de ligne dans une macro ?

Bonjour

Peut-être comme ceci

Dim MonTexte as string

With Sheets("Donnees")
MonTexte= .Cells(z, 2)& " " & .Cells(z, 4)
MonTexte=IIF(.cells(z,6)="",MonTexte,MonTexte & chr(13) & .cells(z,6))
MonTexte=IIF(.cells(z,7)="",MonTexte,MonTexte & chr(13) & .cells(z,9))
MonTexte=IIF(.cells(z,8)="",MonTexte,MonTexte & chr(13) & .cells(z,8))
MonTexte=IIF(.cells(z,10)="",MonTexte,MonTexte & chr(13) & "Télephone:" & .cells(z,10))
MonTexte=IIF(.cells(z,11)="",MonTexte,MonTexte & chr(13) & "Fax:" & .cells(z,11))
MonTexte=IIF(.cells(z,12)="",MonTexte,MonTexte & chr(13) & "Mail:" & .cells(z,12))
Sheets("Annuaire").Cells(x, 2).Value = MonTexte
End with

Bonne soirée
 
Re : Saut de ligne dans une macro ?

@Bea: Tout simplement parfait 🙂🙂
Merci beaucoup !!!
Tu es super balèze de l'excel un peu non ? 😉
Merci

@Pascal76: Et bien je n'ai pas essayé mais merci beaucoup !
c'est une bonne alternative je pense (programmant un peu en pascal j'ai déjà utilisé des méthodes similaires 😉)

Merci à tous les deux !
Matthieu
 
Re : Saut de ligne dans une macro ?

Une question ultime : Peut on modifier la casse des informations ?
Par exemple peut on régler une des informations en Gras ou régler l'alignement ????


Merci à tous vous êtes vraiment géniaux de m'aider 🙂
Matthieu
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
735
Retour