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

Esox

XLDnaute Occasionnel
Bonjour le forum,
Comment dire dans une macro :" si case A1 rempli alors a1+b1+C1+D1 copier coller sur une autre feuille et dans la meme macro la meme chose pour la case B1, et si elle est vide passer a la ligne de macro suivante ? en fait je veux faire cela sur environs 8 lignes.
Merci de votre aide....
 
Re : ligne VBA

Bonjour

Ci dessous le code correspondant au texte
Code:
Sub essai()
'Comment dire dans une macro :"
 Dim i As Integer

'

For i = 1 To 8 'en fait je veux faire cela sur environs 8 lignes.
'pour i= 1 jusqu'à la valeur 8
    If Sheets("Feuil1").Range("A" & i) <> "" Then 'si case A1 rempli alors
       'a1+b1+C1+D1 copier
       Sheets("Feuil1").Range("A" & i & ":D" & i).Copy _
       Destination:=Sheets("Feuil2").Range("A" & i) 'coller sur une autre feuille

    End If
'et si elle est vide passer a la ligne de macro suivante
Next i 

End Sub

JP
 
Re : ligne VBA

Bonsoir

Un peu d'explication serait nécessaire.
"se mette à la suite du précédent collage ??"
La suite peut être des colonnes ou des lignes.

Un exemple (fichier avec les données de base et l'objectif à atteindre ) est souvent plus compréhensif qu'un texte.

JP
 
Re : ligne VBA

Bonjour JP, le forum,
C'est impecc... par contre, je souhaiterai mettre les noms de facon verticale. C est à dire, si 4 noms pour le bon n°100, que cela me créé 4 lignes, avec chacun des noms, et avec la référence 100 pour chaque ligne...
Merci du tps que tu me consacres...
Stef.
 
Re : ligne VBA

Bonjour

Ci dessous la procédure modifiée.

Code:
Sub inscription()
Dim nomfeuilledest As String
nomfeuilledest = "Feuil2"
Dim dl1 As Long ' dernière ligne
Dim i As Byte
Dim j As Byte

With Sheets("Feuil1")
j = 5
For i = 8 To 13
   
    If .Range("a" & i).Value <> "" Then
     dl1 = Sheets(nomfeuilledest).Range("a65536").End(xlUp).Row + 1
    Sheets(nomfeuilledest).Cells(dl1, j) = .Range("a" & i).Value
    .Range("a" & i).Value = ""
    Sheets(nomfeuilledest).Cells(dl1, j + 1) = .Range("b" & i).Value
    .Range("b" & i).Value = ""
    'N° BON      'NOM GRADE   NOM GRADE
    Sheets(nomfeuilledest).Range("A" & dl1) = .Range("c2").Value

    'DATE
    Sheets(nomfeuilledest).Range("b" & dl1) = .Range("g16").Value

    'AUTEUR
    Sheets(nomfeuilledest).Range("c" & dl1) = .Range("d16").Value

    'LIEU
    Sheets(nomfeuilledest).Range("d" & dl1) = .Range("f9").Value


    End If
Next i
    
    .Range("c2").Value = ""
    .Range("g16").Value = Format(Now, "dd/mm/yyyy")
    .Range("d16").Value = ""
    .Range("f9").Value = ""
End With
End Sub

A tester

JP
 
- 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
43
Affichages
817
Réponses
4
Affichages
228
Réponses
7
Affichages
695
Retour