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

B

bpierre

Guest
bonjour,

pouvez-vous m'expliquer pourquoi cette Macro ne fonctionne pas ?
Lorsque je tape une ou plusieurs croix dans les colonnes CIR CLIM LUM ou BRU, je souhaite réécrire automatiquement la ou les ligne(s) sur une autre feuille.
merci de votre aide
 

Pièces jointes

Re : macro

Bonjour abPierre 😀

Dis nous ce qu'il faut faire, et où doit-on placer la "cellule active" ou "sélection" (Target en VBA), le problème vient sans doute de là.

A plus,
Gruick

Edit :
Evites de multiplier les posts sur le même sujet, un petit up suffit
 
Dernière édition:
Re : macro

par-exemple, si je coche les cellules J2 et K2 de la feuille active "Identi", je souhaite que sur la feuille "Cota" soient recopiées les valeurs CA TA Sites AC et dans la cellule A2 et A3 les entêtes des colonnes J et K de la feuille active " Identi".

A chaque fois que je tape une croix, je veux recopier les données sur l'autre feuille.

Je souhaiterais aussi effacer les données lorsque je retire la croix.

j' espère que c'est clair et merci pour votre aide
 
Re : macro

Bonjour

Pour la mise à jour avec les "x" il faut modifier ton code ainsi (ajout de UCASE) :
Code:
'zone à tester
If Not Intersect(Target, Range("j2:M1000")) Is Nothing Then
    flag = True
    With Sheets(ActiveSheet.Name)
    
     If[COLOR="Magenta"] UCase([/COLOR]Target.Value[COLOR="magenta"])[/COLOR] = "X" Then
        dl1 = Sheets(nomfeuille1).Range(colonne1a & "65536").End(xlUp).Row + 1
        
        'valeur à recopier
ainsi un "x" ou "X" dans la cellule produira le même effet.
Pour l'effacement je regarde

à plus
 
Re : macro

Bonjour,

Si quand tu valides ton "X", la cellule active est la suivante, tu vas dans les préférences-->modification-->tu décoches Déplacer la sélection après validation.

Et puis,
Une petite erreur dans la macro, du fait que les CA, TA, Sites et AC, n'ont pas la même colonne dans les 2 feuilles, tu modifies la macro ainsi :
Code:
' ecrire la valeur de l'entête
Sheets(nomfeuille1).Range(colonne1a & dl1) = .Cells(1, Target.Column)
'CA colonne B
Sheets(nomfeuille1).Range(colonne1a & dl1).Offset(0, 1) = .Range("B" & Target.Row) ' & Chr(10) & .Range("c" & Target.Row)
'TA colonne C
Sheets(nomfeuille1).Range(colonne1a & dl1).Offset(0, 2) = .Range("D" & Target.Row)
'colonnes D et E
Sheets(nomfeuille1).Range(colonne1a & dl1).Offset(0, 3) = .Range("E" & Target.Row)
Sheets(nomfeuille1).Range(colonne1a & dl1).Offset(0, 4) = .Range("H" & Target.Row)

sous réserves que j'aie bien compris ton problème

A plus,
Gruick
 
Dernière édition:
Re : macro

bonjour

comme convenu voici le programme rectifié pour tenir compte des suppressions des "x" avec effacement dans la feuille "Cota"

Il reste à gérer l'ajout de lignes dans la feuille "Identi". En attendant, en cas d'ajout de lignes, il faut enregistrer, fermer et ouvrir le classeur.

à plus
 

Pièces jointes

Re : macro

bonjour

Pourtant ça fonctionne bien.

Les données ("X") de la colonne J dans la feuille "Identi" commencent par "CIR" dans la feuille "Cota".
Compte combien tu en as et va ensuite effacer une croix en colonne J de la feuille "Identi"
As-tu toujours le problème ?
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
281
Réponses
15
Affichages
792
Réponses
5
Affichages
433
Retour