• Initiateur de la discussion Initiateur de la discussion Caro29
  • 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 !

Caro29

XLDnaute Nouveau
Bonjour à toutes et à tous

Je suis nouvelle sur le forum.

Je suis en train de créer un fichier de suivi de clients qui n'est pas pour moi.
Dans ce fichier, j'ai:
- un onglet Fichier client qui a terme permettra par un lien hypertexte de retomber sur la fiche du client selectionné.
- Un onglet modèle où l'on rempli les champs et après via un bouton avec macro se duplique pour créer la fiche du client.

C'est là où ça se complique et que je ne sais pas comment prendre la chose. Je m'explique, à partir de la nouvelle fiche client , je selectionne uns certains nombre d'info tels que Nom, prénom et date de naissance que je viens coller dans mon onglet fichier client. De là sur la cellule portant le nom je créée un lien hypertexte vers la fiche client.
ça, je l'ai fait via une macro mais il manque dans ma macro, le test de cellule vide dans mon fichier client. Si B2 par exemple est vide, il colle les infos à partir de cette cellule, si c'est non vide il faut qu'il aille à b3. et si b3 est non vide c'est b4...

Je sais pas si je suis clair.

Voici ma macro:

Range("B4:G4").Select
Selection.Copy
Sheets("FICHIER PATIENTS").Select
Range("B2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
Sheets("nedelec").Select
Range("B5:G5").Select
Selection.Copy
Sheets("FICHIER PATIENTS").Select
Sheets("FICHIER PATIENTS").Name = "FICHIER PATIENTS"
Range("C2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
Sheets("nedelec").Select
Range("C10:G10").Select
Selection.Copy
Sheets("FICHIER PATIENTS").Select
Range("D2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Sheets("nedelec").Select
Selection.Copy
Sheets("FICHIER PATIENTS").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
Range("B2").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"toto!A1", TextToDisplay:="nedelec"
Sheets("toto").Select
End Sub

est ce que quelqu'un peut m'aider??? Merci beaucoup d'avance
 
Re : Tester une cellule

Bonjour à tous,
Bienvenue sur XLD,

Comme le préconise la Charte XLD, un fichier est recommandé pour une tentative d'aide optimisée.
Merci aussi d'utiliser les balises pour déposer du code ou des formules

Ton code avec les balises "Code" (le # dans la BO Avancée)

Code:
Range("B4:G4").SelectSelection.Copy
Sheets("FICHIER PATIENTS").Select
Range("B2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
Sheets("nedelec").Select
Range("B5:G5").Select
Selection.Copy
Sheets("FICHIER PATIENTS").Select
Sheets("FICHIER PATIENTS").Name = "FICHIER PATIENTS"
Range("C2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
Sheets("nedelec").Select
Range("C10:G10").Select
Selection.Copy
Sheets("FICHIER PATIENTS").Select
Range("D2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Sheets("nedelec").Select
Selection.Copy
Sheets("FICHIER PATIENTS").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
Range("B2").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"toto!A1", TextToDisplay:="nedelec"
Sheets("toto").Select
End Sub

A+ à tous
 
Re : Tester une cellule

Bonjour à tous,

J'ai essayé de bien comprendre le bon fonctionnement de ta macro mais en vain... Un fichier exemple est de nécessité afin de voir le fonctionnement du code et de préférence avec un exemple saisi manuellement de ce que tu veux obtenir...

Cordialement
 
Re : Tester une cellule

Bonjour à tous,

Quelques transformations sur tes codes et feuille Modele, le code "lien" est inutile (peut être supprimé)... La feuille "Modèle" a été protégée par un mot de passe (pwd = 123) pour faciliter la saisie des informations des patients (cellules déverrouillées) (et par conséquent toutes les feuilles patients le seront aussi)...

En espérant que le fichier attachés sera à tes attentes et souhaits...

Cordialement
 

Pièces jointes

- 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
10
Affichages
549
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
508
Réponses
3
Affichages
677
Réponses
5
Affichages
480
Retour